本篇文章搬运自我自己的博客,原文链接: UE4导入图集:TexturePacker 作者: ZhaLiPeng
在开发游戏时,会使用到大量的图片资源,使用图集的作用在于减少 DrawCall,提高性能。在UE中没有图集的打包工具,比较流行的方案是使用第三方的图集打包工具TexturePacker。新版本的TexturePacker支持直接导出UE4的Sprite,并且可以在引擎中直接导入。在之前的版本中可以使用VaTexAtlas通过Json Array的数据导入,不过与TexturePacker直接导出UE的Sprite相比,VaTexAtlas并没有优势,UE的Sprite还可以直接预览,VaTexAtlas则不可以,在官方已经支持的情况下不建议再使用VaTexAtlas作为UE导入图集的方式。
本篇文章主要内容是记录TexturePacker图集生成文件的分析、导入UE、选项介绍、以及记录在UE中使用遇到的问题。
图集文件结构和导入UE
TexturePacker的项目文件格式为*.tps
,在使用TexturePacker导出UE的图集会产生两个文件(以Icons项目为例):
icons.tps
icons.paper2dsprites
icons.png
其中icons.png
是导出的Texture。 icons.paper2dsprites
是当前图集的描述文件,使用json格式,用于描述图集中包含的每个Sprite的信息:
{
"frames":
{
"BackIcon.png":
{
"frame": {
"x":49,"y":1,"w":36,"h":36},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {
"x":0,"y":0,"w":36,"h":36},
"sourceSize": {
"w":36,"h":36}
},
"Cross_12x.png":
{
"frame": {
"x":251,"y":53,"w":12,"h":12},
"rotated": false,
"trimmed": false,
"spriteSourceSize": {
"x":0,"y":0,"w":12,"h":12},
"sourceSize": {
"w":12,"h":12}
}
},
"meta": {
"app": "https://www.codeandweb.com/texturepacker",
"version": "1.0",