一、常见Unity纹理颜色模型
1、RGB
2、RGBA
3、HDR
二、全平台支持无压缩纹理格式
RGB:RGB 24位
RGBA:RGBA 32位
三、三平台默认格式
压缩选项为:Low Quality
RGB-RGBA纹理:
PC:RGB Compressed DXT1 - RGBA Compressed DXT5
Android:RGB Compressed ETC - RGBA Compressed ETC2
IOS:RGB Compressed PVRTC 2 位 - RGBA Compressed PVRTC 2 位
压缩选项为:Normal Quality
RGB-RGBA纹理:
PC:RGB Compressed DXT1 - RGBA Compressed DXT5
Android:RGB Compressed ETC - RGBA Compressed ETC2
IOS:RGB Compressed PVRTC 4 位 - RGBA Compressed PVRTC 4 位
压缩选项为:High Quality
RGB-RGBA纹理:
PC:RGB(A) Compressed BC7 - RGB(A) Compressed BC7
Android:RGB Compressed ETC - RGBA Compressed ETC2
IOS:RGB Compressed PVRTC 4 位 - RGBA Compressed PVRTC 4 位
四、移动平台的覆盖的纹理压缩格式
Android
RGB ETC纹理压缩格式
RGB Compressed ETC 4 bits
RGB Crunched ETC
RGB ETC2纹理压缩格式
RGB Compressed ETC2 4 bits
注意:没有RGB Crunched ETC2压缩格式,大概直接回退用RGB Crunched ETC
RGBA ETC纹理压缩格式
不直接支持,需要RGB ETC + Alpha通道分离实现
导入Sprite时为纹理启用特定于 Android 的 Split Alpha Channel 选项。Unity 会将生成的图集拆分为两个纹理,其中一个纹理含有 RGB 数据,另一个纹理含有在所有三个 (RGB) 通道中重复的 Alpha 通道数据,然后在渲染管线的最后部分将这两个纹理组合起来。
要特殊的Shader处理,在以前项目试过,有不少坑
RGBA ETC2纹理压缩格式
RGBA Compressed ETC2 8 bits
RGBA Crunched ETC2
关于Crunched压缩的一些科普知识:
1、需要很长时间进行压缩,但在运行时的解压缩速度非常快。
2、仅仅有助于纹理在磁盘上使用尽可能少的空间,但对于运行时内存使用量没有影响,也就是说 Crunched ETC/ETC2 跟 ETC/ETC2的运行内存是一样的。
3、压缩过程会损失一部分精度,