Unity iOS图片优化:贴图压缩与存储策略

默认情况下当你把图片导入到unity中时,unity会自动把图片转换成最适合当前平台的压缩格式。如果你有一些特殊的需求,unity也提供了覆盖默认压缩格式的方法,如下图

unity ios图片压缩 unity贴图压缩_sed

在图片的Inspector窗口可以选择相应平台然后重写图片的压缩方式。

下图展示了不同平台可以使用的贴图格式

  unity ios图片压缩 unity贴图压缩_unity ios图片压缩_02

在项目的开发中会根据不同需求来调整贴图的压缩方式。对于大部分贴图资源,使用默认的压缩格式即可。如果一些UI需要特别高的清晰度可以使用RGBA32/RGB24,看起来和原图一样。在安卓平台ETC2 是unity在官方文档中推荐的方式,支持alpha通道,在内存占用和贴图质量上提供了最好的平衡,并且可以适应大部分安卓手机。但如果项目要考虑某些低端机型(如红米的部分机型),还是要使用ETC1。

在IOS平台,默认的压缩格式是RGBA Compressed PVRTC 4 / RGB Compressed PVRTC 4。但RGBA的图片压缩后的效果看起来要比RGB的图片效果差很多,所以通常的解决办法是将带alpha通道的贴图分成两个不带通道的贴图,一张储存颜色信息,另一张存alpha值,和在安卓平台中使用ETC1时拆分RGBA贴图的处理方式一样。下图展示了原图和在IOS平台中压缩为RGBA Compressed PVRTC 4后的效果,可以看到图片糊了很多。

unity ios图片压缩 unity贴图压缩_贴图_03

unity ios图片压缩 unity贴图压缩_sed_04

另外贴图的宽高要是2的次方,因为只有这样的图片unity才可以将其压缩为ECT或PVRTC4格式,这类格式的图片在内存中无需解压,可以直接被GPC支持,占用内存少,效率还高。对于IOS平台不仅需要宽高是2的次方,还要求宽高要相等。


所以最后结论是:

Android:如果对贴图质量要求高比如某些UI,使用RGBA32/RGB32。如果对质量无特殊要求而且目标机型是中高端机型,使用ETC2。如果是全机型通用,使用ECT1拆分alpha通道的方式。

IOS:如果对贴图质量要求高比如某些UI,使用RGBA32/RGB32。如果对质量无特殊要求,使用RGB Compressed PVRTC 4拆分alpha通道的方式。

压缩质量:仅比较RGB这三个通道的质量,RGBA32 > RBG16 > RGBA16 > RGB PVRTC4/ETC4 > RGB PVRTC2


免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删

QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 155-2731-8020
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

手机不正确

公司不为空