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时,无法打成图集仍然是散图的原因

在Unity中使用AssetBundle

记录:Unity 第三方字体设置Assetbundle导致的闪退

unity2018怎么打包assetbundle?

Unity中资源动态加载的几种方式比较

Unity AssetBundle(3):图集Atlas与AB包