零、导入YooAsset
0.注意结合官方文档一起看,他写的很清晰
1.UPM导入
在ProjectSetting里找到这个,这么填

package.openupm.cn
https://package.openupm.cn
com.tuyoogame.yooasset
然后在PackageManager里,选择MyRegistry ,导入YooAsset

本文只探讨到1.4.17,再高不支持了,本文全部代码均已验证正确
一、编辑器
0.创建YooAsset设置文件

在使用这些东西之前,我们需要在Project面板右键,选择YooAsset/Create Setting创建这个文件
然后MainfestFileName就是我们的资源清单文件名,(不改也没事,不影响使用,只是名字)

1.AssetBundle Collector

第一个是是否显示包,第二个是是否采用中文,第三个是是否开启寻址,第四个是在包名前面加东西保证包名唯一。
接下来我们把前三个打勾,按下面的加号创建一些东西。

其中Package就是包了,Group是分组,而Collector是收集器。
我们能编写自定义的收集规则,当Collector选择目录时,我们可以用自己的脚本来控制选择什么样的资源。
我们简单选择几个资源

2. Builder

第二个是构建管线,默认是默认的,否则可以改成可编程的(不介绍)。
第三是构建模式,ForceRebuild会删除原来的AB,重新打新的。
而Incremental是增量更构建,也就是打出来的包是多出来的资源,不会移除也不会生成之前的,所以在更新到CDN时可以直接覆盖到原来的包上,或者差异分析上传
然后是DryRun,只会产生一些Mainfest文件,不会打包,用于演练,。
接下来是Simulate,需要配合特殊的初始化方式才能模拟构建,只在编辑器有效
然后是版本号,这个版本号随着时间自动生成,不需要处理
Compressaion是压缩方式,LZ4时间略微优异,性价比比较高,LZMA保证最大的压缩率,其实差距不大,太大不会放在这里,说明都可用。
Encryption是加密方式,需要自己写一个,好像要实现一个接口,在YooAsset官方文档有的
最后一个就是是否拷贝到StreamingAsset

我们能根据Group的标签区分。
3.Reporter

在目录里,Bundles是打包输出路径,SandBox是AB从服务器下载缓存的路径
我们进入Reporter,选择导入,选择这个打出的以时间命名的包下面的一个文件



就这个用处,简单吧,还有一个调试器,这个是在运行时检测资源直接有没有循环引用问题的,基于引用计数的方案最害怕这个。
二、代码
0.每一个模式都要做的初始化
// 初始化资源系统
YooAssets.Initialize();
// 创建默认的资源包,这里是需要先在Collector里创建同名Package的
var package = YooAssets.CreatePackage("DefaultPackage");
// 设置该资源包为默认的资源包,可以使用YooAssets相关加载接口加载该资源包内容。
YooAssets.SetDefaultPackage(package);
0.1 选择一个运行模式
public EPlayMode PlayMode = EPlayMode.EditorSimulateMode;
switch (PlayMode)
{
case EPlayMode.EditorSimulateMode:
{
//开启协程
break;
}
case EPlayMode.OfflinePlayMode:
{
//开启协程
break;

本文介绍了如何在Unity中使用YooAsset进行资源管理和构建,包括UPM导入、编辑器设置、构建配置、初始化代码以及针对不同运行模式的处理方法,如编辑器模拟、单机和联网模式。此外,还涉及资源更新和下载流程。


被折叠的 条评论
为什么被折叠?



