unity3d 关于纹理压缩的一些交流,挺有用,备忘


6个框依次:
ios正方形不带a,
ios正方形带a,
安卓正方形不带a,
安卓正方形带a,
各种平台长方形不带a,
各种平台长方形带a


etc和autocompress压缩比相同,在手机上读取速度略微快一点,电脑上没试过


ATC 和 ETC 算法来自PVRTC

可以选择带通道也可以选择不带

不带的话清晰一点,是有损压缩

RGBA8888就是一个像素占32个bit

PVRTC是4*4个像素占16个bit

原理是将图片分成若干个4*4的block

每个block取其中最有“代表性”的2个颜色,用4+4个bit去存,剩下的全部用0或者1去存储16个像素所占2个“代表性”的颜色的百分比


之前尝试了,我们的游戏用autocompressed,读取用8秒,ATC读取只用了1秒不到 读取场景


PVRTC在ios上最快,ATC在安卓最快,两者压缩算法相同,但都只支持方形贴图,如果是长方形贴图,用ETC


看你要求是大小,还是读取速度,还是精度

像我们之前是只在意大小和速度,不在意精度,所以pvrtc


另外提一句,ATC和PVRTC的解压非常快,但是压缩非常慢,所以你build版本的时候通常会花10分钟以上


这些算法都是有损算法,牺牲精度来换取体积和速度的


所以不要问为什么UI里面用了会模糊


你全部改成atc,打包体积只有rgba的1/4


还有一点,generate mipmap没必要的话全部把勾去掉

假设你一张图是1024*1024,勾了mipmap,anisolevel设了2

那么实际打包出的内容是一张1024的原图,外加一张512*512,一张256*256

除非你场景里远处的物体看起来有明显锯齿了,否则不要轻易勾上体积会大很多的



总结


IOS上:PVRTC(包文件会变小)【正方形】
安卓上:ATC(包文件会变小)【正方形】
PC上:DXT5
ETC支持多平台长方形

尽量取消mip Maps


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值