「干货分享」手把手教你使用Cocos Creator进行纹理压缩

赞赏 2017-06-26

之前写过一个关于2D MMO角色动画优化的分享,有些人问到其中的压缩纹理要怎么做。其实实施起来非常简单,很多看过Cocos2d-x的人都知道怎么做,这篇分享主要针对对这块不是太了解的新同学。


感谢『社区 ID: colinsusie友情提供

http://forum.cocos.com/t/creator/47206


我假定对这篇分享有兴趣的同学不太知道压缩纹理是什么,可以先参考pvr, etc等相关知识。

手游中使用压缩纹理是很常见的需求,通常:

  • IOS会使用PVR来压缩,IOS要求图片高宽必须是2的幂,且必须是正方形。

  • Android会使用ETC1,由于ETC1不能支持透明通道,对于有透明的图,一般也会用ETC1+Alpha的做法。


使用工具

生成压缩纹理当然是使用现成的IOS工具:PVRTexTool,在 这里下载

具体的使用方法可能要参考工具的文档,下面是一个简单的例子:

其中$(infile)和$(outfile)分别是原图片名和压缩后的图片名,如果图片没有透明,PVRTC1_4换成PVRTC1_4_RGB。


Android

使用Mali Texture Compression Tool,在这里下载

这个工具可以生成ETC1和带透明通道的ETC1


带透明通道的ETC1其实就是将图片和遮罩合成一张图,最终的图片高度是原始图片的2倍。而要正确显示图片,则需要用Shader把遮罩部分作为Alpha值加到原图上。Shader如下所示:


兼容Web和Native

现在知道如何生成和使用压缩纹理了,要怎么整合进Creator呢?

  • 在开发阶段,我们还是正常使用png, jpg,这样在浏览器和模拟器都能正常显示。

  • 在构建阶段,分成三步走:

    • 用Creator命令行生成原生工程。

    • 调用我们自己的脚本,将工程中的图片转成压缩纹理,但要注意转换后的图片名不要变,比如a.jpg转换后仍然叫a.jpg,只不过内容已经是压缩纹理了。

    • 用Creator命令行编译安装包。

这样打出来的包,在手机中是可以正常显示的,原因是Cocos2d-x并不是以文件后缀来判断类型的,它是根据文件内容的头几个字节来判断的。

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

要完成这样的构建流程,你可能需要用一个脚本来实现自动化,我比较推荐python,它的库实在太强大和方便了。

另外,并不是所有的图片都适合用压缩纹理,比如UI图片压缩后会有明显的锯齿,像场景, 特效这类就比较适合。

总之,在使用压缩纹理之前,你可能需要对图片类型进行规范化。此外,有用户提出:不是一般都用pvr.czz zlib吗?是否有测试过gzip和zlib哪个更快?这边做出解释:一样快。因为gzip用的算法和zlib是一样的,只是gzip加了一个文件头,表示这个文件有多大。

我使用的是官网最新的Cocos Creator v1.5.1,这个版本修复了很多上个版本遗留的bug,体验感真的非常好,还未升级的可考虑下载更新。

登陆后阅读全文
阅读 2365 赞赏 0 有用 7 没用 1 收藏 0 分享

   



0 条留言

相关文章

教程:Cocos Creator如何给资源打上MD5版本号?

教程|如何在Cocos Creator v1.5中集成 Pomelo?

看 Nantas手把手为你详解 v1.5资源导入导出工作流程

Cocos Creator v1.6使用体验Q&A

教程|如何在Cocos Creator 中完美使用 protobuf.js

Cocos Creator可以用来开发大型MMO吗?

Cocos Creator 开源游戏集合贴 (源码 视频 在线统统有)

【Cocos Creator与C++知识分享】AnySDK打包微信登录、微信分享

干货|Cocos Creator Zip压缩文件读取分享

Cocos Creator v1.6支持Camera剔除功能!

有料推荐

这世界欠我一个这样的老公!

高校学生模仿“世界名画”摆拍,可以说是戏精本精了

iPhone X 跌破发行价,苏宁200亿入股恒大 | 财经日日评

果然是高手!这次在日本,特朗普竹杠敲得不是一般狠

资深黄牛现身说法:iPhone X价格秒变不停,就像炒股一样

长一样的双胞胎也能识别?蚂蚁金服发布「眼纹识别」技术

苏联是怎么被阿富汗拖垮的?

美团或入局「分时租赁」共享汽车,王兴要大笔投入「泛出行」领域了? | 36氪独家

你或许被“一盘番茄炒蛋”刷屏了,但有人辛酸,有人质疑

iPhone X发售前夜,黄牛与苹果公司的不安

他的文章

低内存占用、无广告、功能强大又唯美的本地播放器 - Potplayer

从零开始手把手带你全面认识 网易的游戏服务端框架 Pomelo

推荐一款上线 Cocos商店的付费插件——可视化状态机

手把手教你如何优化cocos2d-x手游内存

「新手向」用Cocos Creator也可以轻松做阿拉斗牛

Cocos Creator v1.6支持Camera剔除功能!

Cocos Creator v1.6使用体验Q&A

Cocos Creator可以用来开发大型MMO吗?

教程:Cocos Creator如何给资源打上MD5版本号?

「教程」如何在Cocos Creator中优化首页打开速度

手机扫一扫
分享文章