概述
之前写过一个关于2DMMO优化的分享,有些人问到其中的压缩纹理要怎么做。其实实施起来很简单,很多看过cocos2dx
的人都知道怎么做,这篇分享主要针对对这块不是太了解的新同学。
我假定对这篇分享有兴趣的同学都知道压缩纹理
是什么,有什么好处和坏处。如果不大了解,可以先看一下pvr, etc
相关的知识。
在手游中使用压缩纹理是很常见的需求,通常:
- IOS会使用PVR来压缩,IOS要求图片高宽必须是2的幂,且必须是正方形。
- Android会使用ETC1,由于ETC1不能支持透明通道,对于有透明的图,一般也会用ETC1+Alpha的做法。
使用工具
生成压缩纹理当然是使用现成的工具了:
IOS
使用PVRTexTool
,在这里下载29,具体的使用方法可能要参考工具的文档,下面是一个简单的例子:
PVRTexToolCLI -i $(infile) -o $(outfile) -square + -pot + -q pvrtcbest -f PVRTC1_4,UBN,lRGB
其中$(infile)
和$(outfile)
分别是原图片名和压缩后的图片名,如果图片没有透明,PVRTC1_4
换成PVRTC1_4_RGB
。
Android
使用Mali Texture Compression Tool
,在这里下载28,这个工具可以生成ETC1和带透明通道的ETC1
-
# 原始格式
-
etcpack
${infile}