Unity圖集簡介及使用


定義

圖集是將很多零碎的2D小圖整合成一張大圖,方便unity渲染合批,降低渲染消耗。

優勢

1.UI的合批處理,減少DrawCall

多張圖片需要多次DrawCall,合並成一張大圖只需要調用一次DrawCall

2.減少對內存的占用

OpenGL每張貼圖都需要設置為2的N次方才能使用,假設有寬高分別為100x100、10x10的兩張圖片,如果不合成大貼圖,那么就需要分別使用128x128和16x16的圖片,會浪費一部分內存空間。

如果是使用一張大圖的話,就可以將兩張圖片打到128x128的圖集,進而減少內存的占用。

3.提升效率

圖片尺寸為2的次冪時,GPU處理起來會快很多,小圖不可能做不到每張圖都是2的次冪的,但打成一張大圖就可以。

圖集整理策略

1.盡量緊湊,大小不要超過512x512

2.Draw Call盡量少,同一個界面的小圖盡量在一個圖集里

3.內存管理方便,加載性能好,打開一個界面時只加載必要的圖集,關閉時可以方便地釋放圖集

4.AssetBundle打包、熱更粒度合理,不能出現“熱更一個新界面,大量圖集都需要熱更”的情況

5.設計UI時要考慮重用性,將邊框、按鈕等共享資源,放在1~3張大圖集中,作為重用圖集;

6.其它非重用UI按照功能模塊進行划分,每個模塊使用1~2張圖集,作為功能圖集;

7.對於部分UI,如果同時用到功能圖集與重用圖集,但是其功能圖集剩下的“空位”較多,則可以將重用圖集中用到的元素單獨拎出來,合入功能圖集中,讓UI只依賴於功能圖集。通過一定的數據冗余,來實現性能的提升;

注意控制圖集的大小,不要讓圖集太大,一個超級大圖集的DrawCall消耗或許頂的上十幾個小圖集的消耗

使用

1.Edit → Project Setting → Editor → Project Settings

→Sprite Packer

三種模式

Disabled表示不啟用它,

Enabled For Builds 表示只有打包的時候才會啟用它,

Always Enabled 表示永遠啟用它。

設置Always Enabled

2.在Assets下的Images文件夾建立一個圖片文件夾test,將集中到圖集的圖片放置到此文件夾中

3.右鍵—>Create–>Sprite Atlas,命名為test

4.選擇Buttons圖集,在Objects for Packing中選擇圖片文件夾test

點擊Pack Previes,圖集建立完成。

參考資料

【內存優化】圖集整理策略

Unity SpriteAtlas的學習

Unity圖集的創建與簡單的使用(上)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM