游戏贴图打包工具 - TexturePacker
2015-03-01 11:11
344 查看
著名软件TexturePacker,现在只要是个做游戏的都知道这个软件。如果你说不知道,我只能说你,Unprofessional!
使用TexturePacker最主要的好处是,我们做的游戏最终要运行在Android手机或者苹果手机上,而Android或者ios系统使用的是OpenGL ES来渲染。所以我们要针对OpenGL ES来进行优化。内存方面,OpenGL ES纹理要求宽和高都是2的n次幂的倍数。想一想,如果图片的宽为33,而高为65,那么图片加载到内存后的大小为多少?考虑到宽和高都是2的n次幂,所以加载到内存后的大小是64*128。所以我们可以考虑将小的图片拼成到的图片,然后加载。渲染速度方面,OpenGL ES要求切换的纹理少,所以将图片拼成大图片,这样就减少了纹理的切换。所以使用TexturePacker是很有必要的。
TexturePacker所支持的游戏引擎主要的有以下
Cocos2d - iPhone
Corona(TM) SDK - Cross-platform game development framework
Gideros - Cross-platform game development framework
Sparrow - iPhone
LibGDX - Java (Android + Desktop)
LimeJS - JavaScript / HTML5 framework
Ogre with CEGUI - 3D gaming framework and GUI
Moai - Multiplatform gaming framework
CSS sprites
JSON / Html5
等等。。。(太多了,:) )
TexturePacker处理的高品质的色彩还原贴图
要知道openGL载入纹理图片的时候,所用内存是会自动扩张到2的n次方的。比如,如果你的资源素材是10×10px,载入后,将会按16×16规格载入图片。如果资源素材是64×65,那么就会按照64×128载入了。假设资源是RGBA8888的图片格式来算,(255,255,255,255)代表(r, g, b, a),一个点就使用了8位×4=32位。相当于4个byte。按刚才最后一种情况,你浪费的空间是64×(128-65)×4 /1024 = 15K,别说我的内存你无所谓。。。移动设备上的游戏,内存还是吃紧。理论上,如果每一张图的长宽都恰好是2的n次方数值,那很完美,没有任何浪费。但是,你懂的。所以我们需要把很多小图拼接到一张大图里,比如(2048×2048)然后到代码中取其所需。这样,浪费掉的空间就很小了。如果你使用的是RGBA4444,内存又缩减了50%。
RGBA8888 RGBA4444 无抖动 RGBA4444 加抖动
完美解决我们贴图过大,压缩效果失真的痛苦,
哈哈,总之太棒了!!!
使用TexturePacker最主要的好处是,我们做的游戏最终要运行在Android手机或者苹果手机上,而Android或者ios系统使用的是OpenGL ES来渲染。所以我们要针对OpenGL ES来进行优化。内存方面,OpenGL ES纹理要求宽和高都是2的n次幂的倍数。想一想,如果图片的宽为33,而高为65,那么图片加载到内存后的大小为多少?考虑到宽和高都是2的n次幂,所以加载到内存后的大小是64*128。所以我们可以考虑将小的图片拼成到的图片,然后加载。渲染速度方面,OpenGL ES要求切换的纹理少,所以将图片拼成大图片,这样就减少了纹理的切换。所以使用TexturePacker是很有必要的。
TexturePacker所支持的游戏引擎主要的有以下
Cocos2d - iPhone
Corona(TM) SDK - Cross-platform game development framework
Gideros - Cross-platform game development framework
Sparrow - iPhone
LibGDX - Java (Android + Desktop)
LimeJS - JavaScript / HTML5 framework
Ogre with CEGUI - 3D gaming framework and GUI
Moai - Multiplatform gaming framework
CSS sprites
JSON / Html5
等等。。。(太多了,:) )
TexturePacker处理的高品质的色彩还原贴图
要知道openGL载入纹理图片的时候,所用内存是会自动扩张到2的n次方的。比如,如果你的资源素材是10×10px,载入后,将会按16×16规格载入图片。如果资源素材是64×65,那么就会按照64×128载入了。假设资源是RGBA8888的图片格式来算,(255,255,255,255)代表(r, g, b, a),一个点就使用了8位×4=32位。相当于4个byte。按刚才最后一种情况,你浪费的空间是64×(128-65)×4 /1024 = 15K,别说我的内存你无所谓。。。移动设备上的游戏,内存还是吃紧。理论上,如果每一张图的长宽都恰好是2的n次方数值,那很完美,没有任何浪费。但是,你懂的。所以我们需要把很多小图拼接到一张大图里,比如(2048×2048)然后到代码中取其所需。这样,浪费掉的空间就很小了。如果你使用的是RGBA4444,内存又缩减了50%。
RGBA8888 RGBA4444 无抖动 RGBA4444 加抖动
完美解决我们贴图过大,压缩效果失真的痛苦,
哈哈,总之太棒了!!!
相关文章推荐
- 游戏贴图打包工具——TexturePacker详解
- 游戏贴图打包工具 - TexturePacker
- 游戏贴图打包工具 - TexturePacker
- 游戏开发中的利器TexturePacker实现游戏贴图打包
- 使用TexturePacker打包游戏贴图制作帧动画
- libgdx中利用打包工具TexturePacker打包游戏图片节约内存
- 游戏开发中的利器TexturePacker实现游戏贴图打包
- TexturePacker图片打包工具——简单介绍+简单制作图片集教程——cocos2d-x游戏开发引擎图片制作必备
- TexturePacker 图片打包工具讲解与使用并且批处理打多包以及资源加密
- TexturePacker非常棒的游戏资源图像处理工具
- [原创]游戏打包工具和资源解包类库~~你的资源再也不会暴露在外面了!
- texturepacker,图片压缩打包工具
- 【libgdx】图片整合工具TexturePacker的打包与反打包
- 优化你的图片资源:图片打包工具TexturePacker
- Cocos2d使用TexturePacker工具打包生成plist和pvr.ccz文件方法总结 分类: cocos2d其他 2015-07-11 09:06 13人阅读 评论(0) 收藏
- 游戏开发工具之纹理打包器-3.使用GDI+绘图
- 游戏开发工具之纹理打包器-3.使用GDI+绘图
- TexturePacker 图片打包工具讲解与使用并且批处理打多包以及资源加密
- android游戏开发框架libgdx的使用(十六)—使用TexturePacker工具加快开发速度
- android游戏开发框架libgdx的使用(十六)—使用TexturePacker工具加快开发速度