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: