Unity纹理格式选择

直接上结论:

IOS:选择 RGB(A) ASTC 4x4 ~12x12 (数值越大,压缩比越大,图片越模糊)

Android:有透明度的选择 RGBA Crunched ETC2,无透明度的选择RGB Cruched ETC

Compressor Quality一般选择最优的best

注意事项

1、图片的长宽必须都是2的n次方,否则不能导出为对应的压缩纹理(下面这个NPOT就是不能压缩的情况)

2、实际在处理图片时,散图如果已经放在SpriteAtlas内,就不需要单独的设置图像格式了。只需要根据要求修改SpriteAtlas的格式(SpriteAtlas长宽是符合压缩纹理的要求)

3、像背景图这种单张,原本未放在图集内的图片,一种方式是修改图片大小,改成长宽都是2的n次方,或者是专门为这张图创建一个图集。如果这张纹理不是直接拖到Image上的,可以将图片的Texuture Type改成Default, Advanced Non-Power of 2 选择ToNearest,同时关闭Generate Mip Maps

4、尽量先处理原图的长宽,比如原来1280*720的可以等比缩放图片到1024的宽度

相关知识

一般ios选择的图片格式是pvr,但是由于pvr压缩后的图片颜色会出现黑边且更加模糊。因而不选用pvr格式。astc的话,有更好的图片质量,也是苹果官方推荐的图片格式。缺点是不支持处理器为A7及以下的设备,即iphone5s,ipad air,ipad mini 3(包含)之前的设备。不过不支持的设备本身也是可以使用astc的纹理,只不过会解压成rgba格式,反而更占内存。所以最优的方式是,打两套纹理,一套是pvr格式专门给低端设备使用,一套是astc给iphone6及以上的设备使用

安卓端的话,etc不包含透明通道,etc2包含透明通道。etc2目前市场上的安卓机型都已经支持,可以直接使用。

如何改进

 如果想要更好地适配不支持astc格式的设备。可以将所有的图片资源再打一份pvr格式的,然后放在ab包内,根据机型远程下载。

猜你喜欢

转载自blog.csdn.net/shaobing32/article/details/122179213