项目开发日志:Build AssetBundle——SpriteAtlas(还是有些疑惑)
Posted thechenlin
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了项目开发日志:Build AssetBundle——SpriteAtlas(还是有些疑惑)相关的知识,希望对你有一定的参考价值。
项目信息:
平台-android
Unity编辑器版本-2018.2.5f1
状况1:真机状况下引用到图集下的sprite的UI显示出错。
在我们的测试下发现了以下两个解决方案:
1.在加载相应UI前,将sprite所属图集(spriteAtlas)提前加载到内存中。(相当麻烦,你得知道自己的sprite属于哪个图集,并且需要相应的一套资源加载的框架)。
2.调用unity提供的回调,手动定位加载相应图集。(untiy2018以后才提供用协程异步加载图集)
接下来是我疑惑的原因:
测试记录:unity2017.3.0f3
SpriteAtlas打AB包:
UnityEditor,勾选Include in Build,不注册atlasRequested,加载带Image的UI预制体,正常显示
UnityEditor,不勾选Include in Build,不注册atlasRequested,加载带Image的UI预制体,不显示显示,并警告SpriteAtlasManager.atlasRequested wasn‘t listened to while RGB requested.
UnityEditor,勾选Include in Build,注册atlasRequested,加载带Image的UI预制体,正常显示,
但不触发atlasRequested事件。
UnityEditor,不勾选Include in Build,注册atlasRequested,加载带Image的UI预制体,正常显示,并触发atlasRequested事件。
Android真机,勾选Include in Build,不注册atlasRequested,加载带Image的UI预制体,正常显示
Android真机,不勾选Include in Build,不注册atlasRequested,加载带Image的UI预制体,正常显示显示图片(奇怪)
Android真机,勾选Include in Build,注册atlasRequested,不加载带Image的UI预制体,正常显示图片,不触发atlasRequested事件。
Android真机,不勾选Include in Build,注册atlasRequested,不加载带Image的UI预制体,正常显示图片,但也不触发atlasRequested事件(奇怪)
我们项目Unity2018在大量UI(勾了Include in Build)的时候有时候会出现显示错误,注册事件后恢复正常。所以这里当作一个unity的BUG?
以上是关于项目开发日志:Build AssetBundle——SpriteAtlas(还是有些疑惑)的主要内容,如果未能解决你的问题,请参考以下文章
Unity游戏开发AssetBundle杂记--AssetBundle的二三事