基础:
RGB:三原色。(颜色都是RGB按照一定比例搭配而成)
Alpha:透明度。
RGBA32:就是每个通道占8位。(越高越好,低的有明显的色块)
NPOT:Not Power of Two不是二的整数次幂
大小计算:
1.1024 * 1024,RGBA32:
每个像素32位,也就是4字节:1024 * 1024 * 4 = 4M
2.1024 * 1024,ASTC 4 * 4 block
一个block是16个字节:1024 * 1024 * (16 / 4 * 4) = 1M
压缩格式:
JPG:有损压缩、无透明
PNG:无损压缩、有透明
由于无法直接被GPU解压,导入到Unity之后,都会变成纹理格式(比如:RGBA32)。
不同的平台需要不同的格式。
1.Android
ETC:不支持透明通道。
(用两张透明通道的图,一个只有rgb,一个只有a)
(只有宽高都是4的倍数 且是 POT 才能被压缩)
ETC2:支持透明通道。
2.IOS
PVRTC:质量略差
(POT 才能被压缩)
ASTC:质量更好
RGBA 通道分离:
1.添加UI/Default ETC1
2.勾选Split Alpha Channel
不满足POT的可以打成图集,图集肯定满足要求。
具体如何选用具体压缩格式,看质量还是看内存。
其他设置:
1.Read/Write Enable:
如果不需要运行时读取像素信息,就禁用。
启用后纹理的内存会增加一倍(CPU和GPU都要有一份)。
2.Generate Mip Maps:
不是3D模型贴图,就禁用。
负责为远处物体生成较为清晰的小贴图,减少渲染导致的画质损失。