[Unity优化]资源优化之纹理优化

[Unity优化]资源优化之纹理优化

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);

分离Alpha通道及合并图集两张贴图的Shader可以参考链接

猜你喜欢

转载自blog.csdn.net/husheng0/article/details/77611474