專案開發日誌: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?
參考網頁:
ofollow,noindex" target="_blank">https://www.litefeel.com/blog/unity-2017-new-sprite-atlas/#comment-28099