干货分享:Creator使用压缩纹理

请问,具体如何将图片转出压缩纹理,在Creator中使用,详细说下嘛?不太懂具体操作,谢谢!

就是把png通过工具转成pvr.ccz等格式后,再把pvr.ccz等后缀再改回png,只改后缀名

谢谢,我试了试,creator不能识别改回.png的文件,不需要做其他处理,在Creator里面就能用吗?

在编辑器里还是用正常的PNG,只是打包成原生包的过程,要对PNG进行转换

好像好多人都不太明白,楼主直接把python脚本贴上来吧

etc2.py.zip (741 字节)

我的 你可以试试 用法就是 python etc2.py build/jsb-link/res

预先安装mali tools里的 etcpack

666666 都准备放弃低端机直接用etc2了啊 我是c#写的工具 isCache这点很棒 我们2g多资源 可以节省不少事件。

在生成Android原生包后,进入游戏场景,第一次加载很慢,七八分钟,还进不去?请问你们,用pvr.ccz格式图片,遇见这个问题吗?是不是应该正常的加载进去?谢谢

mark ! 啊

而cocos-2dx其实还支持gzip压缩格式的,也就是我们将图片转换成pvr或etc1后,还可以再压缩成gzip,最终还是可以正常解析出来。但由于文件大小小了很多,加载速度会变快。

请问这步怎么操作的呀?我生成pkm 跟 alpha_pkm,直接用gzip命令,然后把后缀.gz去掉,cocos识别不了。。

确定是gzip识别不了还是etc识别不了? 真机还是模拟器?

应该是我理解错了? 首先先解压gzip文件。然后再读取etc1?

不用,
是这样的操作,开发时,用正常的png,然后 构建 ,然后到 build文件下,把构建出来的png转成etc,再改回png,然后编译,这个流程

而cocos-2dx其实还支持gzip压缩格式的,也就是我们将图片转换成pvr或etc1后,还可以再压缩成gzip,最终还是可以正常解析出来。我疑惑的是这一步。gzip压缩,然后cocos读取,是怎么插入流程中的?

纹理加载到内存中,引擎会去判断纹理是否czz和gzip压缩,有压缩,则在内存中解压,然后判断解压后的数据是etc还是其他格式,然后作相应处理。

明白了。谢谢

etc也生成了,Shader也有了,可是该怎么用呢,现在游戏里是两层,,该怎么用这个shader让它把上面和下面融合在一起呢。

分成多张后怎么用呢,多张加载怎么处理呢,怎么知道有多少张要加载呢,怎么知道动画要用哪些里面的数据呢,texturepacker的multipack打成多张后,互相之间数据并没有联系。
10241024 转pvr和etc不是又要生成两份png了, pvr使用10241024转,etc1+alpha是不是就得生成1024*512的Png然后转etc?

我在研究Mali Texture Compression Tool压缩纹理问ETC1格式,但是输入命令:

原始格式
etcpack {infile} {outfile} -c etc1

带透明通道
etcpack {infile} {outfile} -c etc1 -aa

其中infile的文件名后缀不能是.png 但可以使用.ppm

错误提示如下
sh: convert: command not found
Error: Could not convert input image dynamic.png to .ppm

版本使用是:ETCPACK v4.0.1 for ETC and ETC2

执行命令的路径必须为etcpack所在目录。
可到etcpack文件夹下执行命令,或者拷贝etcpack与convert到执行命令的目录。

1赞