Unity YooAsset 热更资源

Enable Addressable 可寻址功能
如果勾选了这个
加载资源的时候就可以不写路径了

以工程内的音频文件为例:“Assets/GameRes/Audio/bgMusic.mp3”

package.LoadAssetAsync<AudioClip>("bgMusic");

在这里插入图片描述
当然你也可以自己设定名字的规则

设定资源是否被打包进去
分号分隔
在这里插入图片描述
在这里插入图片描述
他会把资源放到
Assets\StreamingAssets\BuildinFiles 里
在这里插入图片描述
输出文件名 我觉得用第二个好一点

在这里插入图片描述
打包的时候这个是干啥用的呢

看官方解释
https://www.yooasset.com/docs/guide-editor/AssetBundleCollector

在这里插入图片描述

### 如何在 Unity 中使用 YooAsset 进行资源打包 #### 工具准备 为了能够顺利使用 YooAsset,在开始之前需要完成一些准备工作。这包括安装 YooAsset 插件以及熟悉其官方文档的内容[^3]。 可以通过 Packages 清单手动安装 YooAsset,或者访问项目的 GitCode 地址获取最新版本的插件文件[^2]。确保按照官方文档中的指引配置环境设置[^5]。 --- #### 配置资源收集器 (AssetBundle Collector) YooAsset 提供了一个名为 **AssetBundle Collector** 的工具用于定义和管理资源打包规则。以下是具体操作: 1. 打开菜单栏 `Tools -> YooAsset -> Settings` 并进入编辑器设置界面。 2. 定义资源分组逻辑:通过创建 `.yar` 文件指定哪些资源被打包到同一个 AssetBundle 中。`.yar` 是一种自定义资源配置文件格式,支持灵活的路径匹配规则。 例如,可以编写如下规则: ```yaml # Example of .yar file configuration rules: - pattern: "Assets/Scenes/*.unity" bundleName: "{filename}" - pattern: "Assets/Resources/UI/*.*" bundleName: "ui/{hash:8}" ``` 上述代码表示将场景文件按名称单独打包,而 UI 资源则统一放入带有哈希值命名的 Bundle 中。 --- #### 设置构建参数 在准备好资源分组之后,下一步就是调整构建选项。打开 `Tools -> YooAsset -> Build Pipeline`,这里可以选择目标平台(如 Android、iOS 或 Standalone),并设定输出目录位置[^1]。 重要的是要勾选启用增量新功能以便于后续流程加高效[^4]。如果启用了该特性,则每次仅需重新生成那些发生改的部分而非全部内容。 --- #### 开始构建过程 当一切就绪后点击界面上方按钮启动正式编译程序。整个过程中会经历以下几个阶段: - 收集符合条件的目标对象; - 计算它们之间的相互依赖关系; - 将最终产物导出至指定存储路径下形成可部署形式的数据结构集合。 完成后可以在终端窗口查看详细的日志记录以确认是否有任何错误或警告提示待解决。 --- #### 测试与验证 最后一步是对刚刚制作出来的包体做全面的功能性和兼容性测试。利用内置调试面板加载远程服务器上的数据来模拟真实运行环境下可能遇到的各种情况。 同时也要注意检查本地缓存机制是否正常运作,因为这对于减少网络流量消耗至关重要。 --- ### 总结 综上所述,借助强大的第三方库——YooAsset 可极大程度降低传统方式处理复杂多变需求时所面临的挑战难度。它不仅提供了直观易懂的操作界面还封装了许多底层细节使得即便是初学者也能快速掌握核心技术要点。 ```csharp // 示例脚本展示如何初始化 YooAsset 加载服务 using UnityEngine; using YooAsset; public class ResourceLoader : MonoBehaviour { private void Start() { var operation = GameEntry.Instance.StartOperation(); while (!operation.IsDone) Debug.Log($"Loading Progress:{operation.Progress}"); LoadSceneAsync("Main"); } public async void LoadSceneAsync(string sceneName) { using (var loadOp = await AsyncLoadScene(sceneName)) { if (loadOp.Status != EStatus.Succeed) throw new Exception(loadOp.ErrorInfo); Debug.Log($"{sceneName} loaded successfully!"); } } } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值