项目开发日志:Build AssetBundle——SpriteAtlas(已解惑)
生活随笔
收集整理的這篇文章主要介紹了
项目开发日志:Build AssetBundle——SpriteAtlas(已解惑)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
項目信息: 平臺-Android Unity編輯器版本-2018.2.5f1 狀況1:真機狀況下引用到圖集下的sprite的UI顯示出錯。(圖集被打成AB包且勾選了Include in Build). 在我們的測試下發現了以下兩個解決方案:(當然我覺得第二個最好) 1.在加載相應UI前,將sprite所屬圖集(spriteAtlas)提前加載到內存中。(相當麻煩,你得知道自己的sprite屬于哪個圖集,并且需要相應的一套資源加載的框架)。 2.調用unity提供的回調atlasRequested,手動綁定圖集。(untiy2018以后才提供用協程異步加載圖集) 解決方法有了,我們來測試一下尋找一下造成這個錯誤的原因。 測試記錄:unity2017.3.0f3 (注意:圖集要刪了重新弄打包,不然改變include in build再次打AB包,AB包跟著上次的來不變) SpriteAtlas打AB包,并在場景中加載帶sprite引用的UI預制體: A組:(UnityEditor,不注冊事件) 1.勾選Include in Build , 正常顯示 2.不勾選Include in Build,不顯示,并警告SpriteAtlasManager.atlasRequested wasn't listened to while RGB requested. B組:(UnityEditor,注冊事件) 1.勾選Include in Build,,正常顯示,但不觸發atlasRequested事件。 2.不勾選Include in Build,正常顯示,并觸發atlasRequested事件。 C組:(Android真機,不注冊事件) 1.勾選Include in Build,不顯示,并警告SpriteAtlasManager.atlasRequested wasn't listened to while RGB requested.(我反復確認了3次,應該是uinty這個版本自己的BUG了) 2.不勾選Include in Build,不顯示,并警告SpriteAtlasManager.atlasRequested wasn't listened to while RGB requested. D組:(Android真機,注冊事件) 1.勾選Include in Build,正常顯示圖片,仍然加載atlasRequested事件。(反復確認了兩次……) 2.不勾選Include in Build,正常顯示圖片,觸發atlasRequested事件。 總結: 這次測試結果來看,在編輯器下的事件結果(也就是A組和B組)是完全符合Unity官方文檔的。 C組1號 和 D組1號是和官方文檔的結論好像不太一樣。 C組1號勾選了Include in Build居然還是不能正常顯示,不過和我們項目開發中遇到的問題是一樣的。 D組1號也是出乎我意料的,勾選了Include in Build注冊事件,按理說是正常觸發且不觸發事件的,不過在C組1號的基礎上倒是合理,找不到spriteAtlas,于是乎根據事件找到spriteAtlas. 所以C組1號和D組1號其實是一個BUG,那就是android真機上atlas打AB包就算勾了Include in Build也不會找到相關的spriteAtlas(不打AB包還沒試過)。 結論: 所以在Android真機打spriteAtlas上我還是建議:不勾選Include in Build用事件來綁定。 參考網頁: https://www.litefeel.com/blog/unity-2017-new-sprite-atlas/#comment-28099
轉載于:https://www.cnblogs.com/TheChenLin/p/9763710.html
總結
以上是生活随笔為你收集整理的项目开发日志:Build AssetBundle——SpriteAtlas(已解惑)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 原型设计之Axure RP
- 下一篇: FFmpeg下载地址