unity打AssetBundle出现的问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了unity打AssetBundle出现的问题相关的知识,希望对你有一定的参考价值。
参考技术A 换了一台机器打AssetBundle,导致别的机器打出来的包加载另一台机器打的资源报错,could not be loaded because it contains run-time classes of incompatible version. Rebuild the AssetBundle to fix this error,可以尝试把打资源包里的设置去掉DisableWriteTypeTree选项
记录:Unity 第三方字体设置Assetbundle导致的闪退
1、字体设置Assetbundle标签
假设预设物HomeView使用第三方字体。
打AB包时,如果该字体不设置Assetbundle,将会导致该HomeView的AB包大小变大(估计是把整个字体都写进了HomeView的AB包内)
不设置Assetbundle:
设置Assetbundle:
所以为了减少安装包占用空间,就需要对所有引用的字体设置Assetbundle标签。
2、加载Assetbundle时闪退
字体设置Assetbundle标签后,打PC安装包,在加载Assetbundle时闪退。
筛查了好久,发现是其中一个字体导致的,去除其Assetbundle后不再闪退。
3、解决办法
字体引用其他字体作为后备字体,导致的出错。
把该引用清空后,再设置Assetbundle标签,结果不再闪退。
去除方法:
修改字体对应.meta文件,fallbackFontReferences列里字体的guid可以断开依赖
修改guid为一个不存在的guid,刷新下Inspector里就没有fallback字体了
打包启动程序,不再闪退。
大概是加载AB包引用字体时,丢失了内存闪退了。具体原因不知道是为何,欢迎各位大佬请留言请教,谢谢啦。
以上是关于unity打AssetBundle出现的问题的主要内容,如果未能解决你的问题,请参考以下文章
Unity5 打assetbundle时,无法打成图集仍然是散图的原因