尊重原创,转载请在文首注明出处:http://blog.youkuaiyun.com/cai612781/article/details/78798054
一,压缩方式
我们在Unity中对于图集和纹理,常用的压缩方案按照质量从低到高可以分为:
高压缩:Android:ETC1+Alpha, IOS:PVRTC4中压缩:RGBA16+Dithering
无压缩:RGBA32
二,自动化脚本
有很多工具可以处理上述压缩方案,例如TexturePack。今天来总结下采用脚本自动将纹理生成ETC1+Alpha的压缩方案。
采用的是Unity自带的一个压缩/解压缩ETC格式的图像工具:etcpack.exe。在Unity 4.x中可以在Unity安装目录/Editor/Data/Tools/中找到,Unity5.x中就被移除了。
更多参考: https://en.wikipedia.org/wiki/Ericsson_Texture_Compression
1,有了这个工具,我们并不知道怎么用。首先打开cmd,在cmd中运行这个exe。可以看到输出了使用方法和例子。
2,接着我们写个bat脚本来调用这个工具,保存为etc.bat文件
@echo etc tool
@echo %1
@echo %2
@echo %3
@echo %4
@echo %5
@echo %6
@echo %7
@echo %8
@set pngPath=%1
@set outputPath=%2
@set pkmPath=%3
@set alphaPkmPath=%4
@set pkmName=%5
@set alphaPkmName=%6
@set etcToolPath=%7
@set speed=%8
cd /d %etcToolPath%
@echo Convert PNG to PKM without alpha channel and solo alpha PKM files
etcpack %pngPath% %outputPath% -c etc1 -s %speed% -as -progress
@echo Convert PKM files to PNG files
etcpack %pkmPath% %outputPath% -