使用yooassets时的一些问题记录

1、公共资源打包的问题,比如我有ABC三个package,A为公共资源,B和C都有引用里面的资源,这种情况下应该怎么处理?

        答:会造成冗余,如果资源不是很大,可以不用管。

2、打包时能不能记录Resources下资源的引用而不打入到bundle里面?

        答:Resources目录下,引擎会把该目录的资产独立打包成AB,然后内置到首包里,这个是引擎的机制无法解决。另外package之间如果用到相同资产,会有冗余,如果资产不是很大的话,可以忽略。

3、打包webGL时,StreamingAssets文件夹下无文件,这时候package初始化会报错。初始化代码如下:

var webServerFileSystemParams = FileSystemParameters.CreateDefaultWebServerFileSystemParameters(webDecryption);
var webRemoteFileSystemParams = FileSystemParameters.CreateDefaultWebRemoteFileSystemParameters(remoteServices); //支持跨域下载

var initParameters = new WebPlayModeParameters();
initParameters.WebServerFileSystemParameters = webServerFileSystemParams;
initParameters.WebRemoteFileSystemParameters = webRemoteFileSystemParams;

var initOperation = mPackage.InitializeAsync(initParameters);

答:把initParameters.WebServerFileSystemParameters = webServerFileSystemParams;注释掉就好了。

4、使用系统图集后打包webgl,出现了图集未能正常显示的问题:

如图所示

        解决方案:在yooasset加载完成后,监听并处理SpriteAtlasManager.atlasRequested事件:

 SpriteAtlasManager.atlasRequested += RequestAtlas;

//---atlasName只是图集的名称,所以需要增加路径mPath="xxx/xxx/xxx/{0}";
 void RequestAtlas(string atlasName, System.Action<SpriteAtlas> callback)
 {
     Debug.LogWarning("开始请求 RequestAtlas:"+ string.Format(mPath, atlasName));
     ResourcesMgr.Instance.LoadYooAssetAtlas(mPackType, string.Format(mPath, atlasName), (SpriteAtlas spatlas) =>
     {
         callback(spatlas);
     });
 }

可以先在编辑器内将图形的 Include in Build取消来重现该问题。

编辑器内正确了再打包webgl。如果webgl显示依旧有问题,可以先清理缓存后再试。

5、使用微信的扩展文件包时,直接复制到项目中有报错。“xxx is inaccessible due to its protection level”

解决方案:解决方案 | YooAsset
如图:

6、编辑器中webgl模式加载spine动画,贴图丢失。导致spine动画无法正常显示。打包为webgl后浏览器上能正常显示。

        解决方式1:编辑器需要加个command  -force-gles

        解决方式2:

### YooAsset 下载失败解决方案 当遇到 YooAsset 资源下载失败的情况,可以从多个角度排查和解决问题。以下是详细的处理方法: #### 1. 配置检查 确保构建管线配置正确无误[^2]。错误的配置可能导致资源无法正常打包或加载。仔细核对项目的设置,特别是 AssetBundle 的生成路径、依赖关系以及版本控制。 #### 2. 初始化参数调整 创建 `ResourceDownloader` 实例可以指定最大并发数 (`downloadingMaxNumber`) 和重试次数 (`failedTryAgain`) 参数来优化网络请求性能[YooAssets.CreateResourceDownloader(int downloadingMaxNumber, int failedTryAgain, int timeout)][^1]。适当增加这些数值有助于提高成功率。 ```csharp var downloader = YooAssets.CreateResourceDownloader(5, 3, 60); ``` 上述代码片段展示了如何通过增大并发数量至5次、允许最多三次重连尝试,并设定超间为60秒的方式来增强稳定性。 #### 3. 环境准备 按照官方指南操作,比如克隆 wolong 或 shoot 示例工程并集成必要的插件如 HybridCLR 及其安装器[^3]。这一步骤能帮助排除因环境差异引起的问题。 #### 4. 日志分析 启用调试模式记录完整的日志信息以便于定位具体原因。通常情况下,异常堆栈跟踪会给出明确提示指向哪一部分出现了状况。 #### 5. 版本兼容性验证 确认所使用的各个组件之间的版本匹配情况。例如,在特定组合下运行良好的 GameFramework-at-YooAsset 综合框架可能需要特定版本范围内的 Unity 编辑器和其他依赖库[^4]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大藏小隐

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值