Unity 優化實踐學習(二) ------ 資源優化
1.資源優化標準
Mesh
動態模型:面片數<3000 材質數<3 骨骼數<50 靜態模型:頂點數<500 Audio 長時間音樂(背景音樂)壓縮格式 mp3 短時間音樂(音效)非壓縮格式 wav http://blog.csdn.net/u012565990/article/details/51794486 Texture 貼圖長款<1024 Shader 儘量減少複雜數學運算 減少discard操作
2.減少冗餘資源和重複資源
A、Resources目錄下的資源不管是否被引用,都會打包進安裝包 不使用的資源不要放在Resources目錄下 B、不同目錄下的相同資原始檔,如果都被引用,那麼都會打包進資源包,造成冗餘 保證同一個資原始檔在專案中只存放在一個目錄位置
3.資源檢測與分析
優化實踐:
1.壓縮紋理
從其中挑選了幾個格式來選擇性壓縮(分有無Alpha):
Android | IOS |
RGB 16 bit | RGB 16 bit |
RGBA 16 bit | RGBA 16 bit |
RGB Compressed ETC2 4 bit | RGB Compressed PVRTC |
RGBA Compressed ETC2 8 bit | RGBA Compressed PVRTC 2 bits |
RGB Compressed ATC | |
RGBA Compressed ATC | RGBA Crunched ETC2 |
RGBA 32 bit | RGBA Compressed PVRTC 4 bits |
RGBA Crunched ETC2 | RGB Compressed PVRTC 4 bits |
RGB Compressed ASTC block | RGB Compressed ASTC |
Android端優化實踐 (優化完安裝包少了10M,圖片不多)
首先採用RGBA Compressed ETC2 8 bit / Max Size更改為1024進行全部圖片壓縮,然後檢視有些圖片比較大的進行另外幾種格式的嘗試,對於無透明通道採用RGB Compressed ETC2 4 bit進行壓縮,當然,也要看看效果來決定
在優化過程中發現幾個規律也分享下,帶透明通道的大圖採用RGBA Crunched ETC2會有驚喜哦,如果圖上顏色特別多時採用RGBA Compressed ASTC block進行壓縮,但是不帶透明通道的純色圖採用了好幾種方式壓縮後效果也不是太好。至於普通圖使用RGBA Compressed ETC2 8 bit壓縮後的圖感覺還是比較大時就用RGBA 16 bit基本能壓縮一半左右
同時匯入設定中注意以下幾點 :
大致總結下:
UI介面圖片壓縮:
透明普通圖 : RGBA Compressed ETC2 8 bit / RGBA 16
透明大圖 : RGBA 16 / RGBA Crunched ETC2(幀動畫大圖) / RGBA Compressed ASTC block
高清不壓縮圖 : RGBA 32
不透明普通圖 : RGB16 / RGB Compressed ETC2 4 bit
不透明大圖 : RGB16 / RGB Compressed ASTC block / RGB Compressed ETC2 4 bit
不透明的圖要仔細看壓縮後的圖片是否符合需求
模型:
不透明貼圖 : RGB Crunched ETC / RGB Compressed ETC2 4 bit
IOS端優化實踐:
UI介面圖片壓縮:
透明普通圖 :RGBA Compressed PVRTC 4 bits / RGBA Crunched ETC2(IOS中意外的壓縮很小)/ RGBA 16 (有的也壓縮的很小)
透明大圖 :RGBA Crunched ETC2(幀動畫大圖)/ RGBA Compressed ASTC block
高清不壓縮圖 : RGBA 32
不透明大圖 :RGB Compressed ASTC block
模型不透明貼圖:
不透明貼圖 : RGB Crunched ETC / RGB Compressed PVRTC 4 bits
參考文章: