• Unity优化之贴图


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

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

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

      

      在项目的开发中会根据不同需求来调整贴图的压缩方式。对于大部分贴图资源,使用默认的压缩格式即可。如果一些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后的效果,可以看到图片糊了很多。

      

      另外贴图的宽高要是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

      

  • 相关阅读:
    2019中国爱分析数据智能高峰论坛(北京)
    GIEC2019第六届全球互联网经济大会北京站震撼来袭!
    iDigital2019数字营销广告主峰会
    DOIS 2019 DevOps国际峰会北京站来袭~
    QCon2019全球软件开发大会广州站即将来袭
    DTCC2019第十届中国数据库技术大会将于5月在北京召开
    2019第十四届中国竞争情报国际年会将于4月在上海召开
    第十二届GOPS全球运维大会2019深圳站即将开幕
    MTSC2019第五届中国移动互联网测试开发大会北京站震撼来袭!
    第八节:分支开发之合并到master
  • 原文地址:https://www.cnblogs.com/ssw-men/p/10472007.html
Copyright © 2020-2023  润新知