游戏贴图打包工具——TexturePacker详解

为什么80%的码农都做不了架构师?>>>   hot3.png

TexturePacker是一款快速打包图片的工具,功能强大,非常适合打包游戏素材。该软件是收费的,市面上有流传破解版,这里以3.0.9版本为例说明。

打开软件可以看到这个界面:游戏贴图打包工具——TexturePacker详解_第1张图片

左边栏是需要打包的精灵,我们用几个测试示例作介绍(精灵的概念做游戏的抖动,不赘述):

游戏贴图打包工具——TexturePacker详解_第2张图片

单击Edit,如果你的精灵图片都是存放在文件夹里,选择Add Folder,如果是分散的,或只想选特定的几个,可以点击Add Sprites逐个选择添加。添加好后在左边栏里头出现了需要打包的精灵图片。

游戏贴图打包工具——TexturePacker详解_第3张图片

而此时我的工程界面是这样的,因为没有调整右边栏的参数,所以显得很凌乱,但是中间这个工程区域是不能自己调节的,只能通过参数设置自动调节,我们下面来仔细研究右边栏。

右边栏由4个部分的设置组成:output输出设置,和输出的相关参数有关;Geometry图形设置,主要和打包后的形态和大小有关;Layout布局设置,主要就是精灵打包的分布状态;Advance是其他设置,一般用不到。

output设置:

游戏贴图打包工具——TexturePacker详解_第4张图片

自上而下一共有11个可选:

  • 1是数据输出的格式,也就是说你的游戏基于的引擎选择,有很多引擎框架供选择,包括常见的cocos和unity,当然也可以自己定义输出的格式。
  • 2是基于1的设置,设置好了某种引擎框架,就可以选择对应的输出文件类型,以及设置路径。比如我选的cocos2d,那么就会输出plist文件,如果选择unity,那么就会输出txt文件,具体文件命名和路径根据实际情况来定,这里写作test。
  • 3是打包出来的图像格式,一般做游戏都是用png的图像。
  • 4是打包的纹理图路径,根据实际情况来定,这里用test。
  • 5是基于4的设置,选择png后会出现这个优化选项,优化可以压缩png的大小,但会降低打包效率。我们做游戏本身资源图片不是很大情况下,就不做优化。
  • 6是DPI设置,DPI——Dots Per Inch,意思是每英寸打印的点数,值越大,图片就越清晰,通常制作场景地图之类的都用300dpi,这里用默认的72是可以的,根据个人情况可以自行调整。
  • 7是预处理alpha通道(透明度),具体知识请移步:http://my.oschina.net/hqc17/blog/735115
  • 8是图像的格式,其实就是设置有没有存在alpha通道,以及RGBA四个通道的顺序和位深度之类,默认RGBA8888,输出为32位深度的图像。如果不想要透明度,就RGB888,输出为24位深度的图像。
  • 9是抖动显示设置,在设置低位深度的图像使用,比如RGBA4444,可用色彩是有限的,不如8888的多,那么可以通过具体选择的抖动算法,来增加更多的色彩,提高图像质量。高深度的图像默认不可选。
  • 10可以通过增加list来设置不同的输出scale等,应用较少,默认空
  • 最后是对输出的内容加密,影响不大,通常也是不需要的。

测试用设置如图:

游戏贴图打包工具——TexturePacker详解_第5张图片

 Geometry设置:

游戏贴图打包工具——TexturePacker详解_第6张图片

自上而下有8个选择:

  • 1是设置打包目标的大小,根据你的精灵大小来计算,我们测试用例的锁大小72*96,定时炸弹大小48*48,并且有上下左右,如果打包是两两一行那么宽度最大就是96+96=192,长度最大就是96+96+48+48=288,由于4个炸弹宽度48*4=192,因此炸弹只需一行即可,那么长度最大设置成240,我们也可以设置为256,方便描述,总之,不小于计算的最大值的值都可以设置。这里要注意的是下面的Force squared不能勾选才能自己设置。
  • 2是修正大小参数,通常默认空,如果改变,则1失效。
  • 3是和精灵密切相关的,初始默认是POT,POT是2为底的指数值,将精灵强制转换为2,4,8,16……的大小,这种情况用于一些设定为2为底的指数大小的精灵。而通常使用的话会影响打包效果,因此大部分均按照AnySize设置,也就是TP会自己计算精灵图像的最小值,从来参与排列。
  • 4是限定打包的结果是正方形,宽和高一样,影响1的设置。
  • 5是字对齐设置,是一个优化的参数,默认不勾选。
  • 6是打包设置,软件可以自动识别精灵大小的最小值,通过该选项,可以选择算法,用Best效果最好,但时间花费最大,通常为了良好效果,都用它。
  • 7是缩放比例,可以设置打包后的缩放比例,0-1是缩小,大于1是放大,默认1。
  • 8是选择缩放的模式,默认smooth,该设置影响精灵的缩放以及前面Output的AutoSD设置,有不同的算法可选择。

我们将测试用例设置为:

游戏贴图打包工具——TexturePacker详解_第7张图片

Layout布局设置:

游戏贴图打包工具——TexturePacker详解_第8张图片

自上而下有14个选择,我们经过合并后列出12种:

  • 1是布局的算法,默认MaxRects,使用的空间最小,但常会造成不美观的现象,且算法有限,不方便使用。因此通常选择Basic,可以根据自己喜好调整精灵位置。
  • 2基于1的设置,选择MaxRects才有2,试一下启发式算法,调整布局排列的。如果选Basic则是154423_aJMF_2872113.png,可以按照精灵的名字大小等按升序或降序排列,想要的排列顺序可以通过修改名称来实现。
  • 3是加空隙,由于这三个都差不多,我们合并到一个选项看待,第一个padding是边界,意思是精灵与精灵之间,精灵与打包之间的空隙,说白了,就是在四周加上一圈透明的,但不改变精灵大小,具体按照希望的像素大小输入即可,默认2,可以根据自己喜好添加,只是美观作用。同样,第二个padding是精灵与精灵之间的空隙,默认2,不与第一个padding叠加,即如果border设置的是2,shape设置的是0,则精灵之间是没有空隙的,与边界有2的空隙。第三个是也是增加一圈透明的,但这圈透明的是计算在精灵大小内的,默认0。这些值影响到Geometry设置的Maxsize大小,如果计算的值卡的很死,那么久应该将这些padding置于0。
  • 4是将图片精灵边界的像素重复向外扩张,默认0,一般用不到。
  • 5是用来扩张精灵大小用的,扩张的部分是透明的,扩展到的大小是可以被这个公约数所除,通常用不到,默认x=1,y=1。
  • 6也就是alpha混合处理技术,只在premutiplied alpha关闭情况下有用,默认关闭。
  • 7是在软件调整精灵位置的时候,允许软件自动旋转精灵,默认勾选。做游戏通常是不希望旋转的,因为我们有自己的一套旋转资源,再被旋转的话就会出错。这个功能并不适用全部的引擎框架,结合实际情况选择。
  • 8是修剪模式,选择trim就是自动裁剪精灵图片内部边缘的透明部分,但是保留原精灵大小,这样做可以提高游戏的渲染效率。
  • 9是裁剪的透明度阈值,若alpha通道的值低于设定的门槛,则会被裁剪。这个设置非常实用,有些精灵需要一定的透明度,则可以自由调节。
  • 10是给精灵划出边界,便于查看,通常用于测试。
  • 11是自动使用别名,这是一个优化功能,默认勾选。
  • 12几乎没怎么用过,意思是对精灵图片的四角像素抽样,并且移除特定的背景色,默认不勾选。

我们的测试用例设置如下:

游戏贴图打包工具——TexturePacker详解_第9张图片

Advaced的功能这里不介绍,就是两个,一个是加路径的,一个是切除后缀名的。最后根据测试用例的设置,效果如下:

游戏贴图打包工具——TexturePacker详解_第10张图片

而后,我们选择Publish:

游戏贴图打包工具——TexturePacker详解_第11张图片

打印出结果:

游戏贴图打包工具——TexturePacker详解_第12张图片

无报错说明成功,可以去之前设置的目标路径找到两个生成的文件:

游戏贴图打包工具——TexturePacker详解_第13张图片

plist文件可以用sublime打开,根据里面的信息为编写代码服务。此外,可以储存这次的打包设置:

游戏贴图打包工具——TexturePacker详解_第14张图片

save可以将打包设置一tps的格式储存,下次打开这个格式文件就可以还原这次设置的全部参数,也可以点击save defaults,将这次的打包参数作为默认存储,下次打开即复原。

总之,TexturePacker是一款小巧而功能强大的图片打包软件,非常适合游戏开发,将图片归类存放,也便于调用,提高效率,新手必学!

 

转载于:https://my.oschina.net/hqc17/blog/735233

你可能感兴趣的:(游戏贴图打包工具——TexturePacker详解)