unity對sprite 標記了 spritepackingTag, 在build 或者 開始遊戲的時候, spritepacker 會將sprite打包爲atlas圖集。ui
unity assetbundle 中包含有 兩種對象,sprite對象和 spriteatlas 對象。對象
若是直接調用 unity 5的 buildpipleline.buildassetbundles 中手動寫入ab內容的方法, 填入每一個 sprite對應的圖片的 路徑,會致使將 sprite 以及其 對應的 texture2d 紋理 都被打包進入 ab中,而 生成的 spriteatlas 圖集不必定會打包進去, 所以 須要一個額外的中間對象,GameObject, 身上掛一個 帶 List<Object> 成員的腳本,將sprite 填入到這個list成員中。遊戲
這樣buildassetbundles 只build這個 gameobject , 會自動分析依賴,從而只將 圖集打入其中,而不會將 sprite 對應的 texture2d 紋理 也打入其中。圖片
在unity的 memory profiler 中能夠看到內存中使用的 圖片 是 單獨sprite的紋理, 仍是已經打好的圖集 spriteatlas.ip