Unity優化資源優化之紋理優化
阿新 • • 發佈:2018-12-13
Unity3D引擎處理紋理:不論你匯入的是PNG,PSD還是TGA,它們都會被自動轉換成Unity自己的Texture2D格式。(美術資源規範:貼圖長寬應為4的倍數)
不同平臺的圖集格式選擇方案(TextureImporterFormat): Android: RGB Compressed ETC1 4 bits+Alpha(方形) iOS: RGB Compressed PVRTC 4 bits+Alpha(方形) 所以圖集需要設定為方形。
對於非方形的紋理: Android: 低畫質:RGB Compressed ETC2 4 bits(非透明)/RGBA Compressed ETC2 8 bits(透明) 中畫質:RGBA 16 bits 高畫質: RGBA 32 bits
ETC2 的格式理論上只在OpenGL ES 3.0 的裝置上被支援,而在不被支援的裝置上則會內部自動轉成 RGBA32/ARGB32的格式,這對於 RGBA Compressed ETC2 8bits 的紋理就是放大了 4 倍。
iOS: 低畫質:RGBA 16 bits 高畫質: RGBA 32 bits
紋理資源方面的問題除了尺寸外,紋理格式、Mipmap設定和Read&Write功能
格式修改程式碼: TextureImporter import = AssetImporter.GetAtPath(path) as TextureImporter;
AssetDatabase.ImportAsset(path);