我在命令行使用TexturePacker,无法将多个精灵打包成1张。它允许我做1个精灵,所以命令没问题。
这是我正在使用的命令。
“TexturePacker --format sparrow --texture-format atf --opt DXT5 --max-width 2048 --max-height 2048 --size-constraints POT --pack-mode Best --enable-rotation --trim-mode Trim --algorithm MaxRects --multipack --border-padding 5 --shape-padding 5 --reduce-border-artifacts --scale“+ sheetInfo.scale +” - data“+ imageOutputDirectory +”\“+ lanfPrefix +”\“+ sheetInfo .name + “.xml”+“ - sheet”+ imageOutputDirectory +“\”+ lanfPrefix +“\” + sheetInfo.name +“。atf image1.png image2.png”;
为什么这不起作用的任何想法?根据文档,它应该工作。
答案 0 :(得分:2)
我无法找到任何真正的解决方法,甚至联系了纹理打包器的开发人员,但没有得到回应。相反,我能够通过将所有需要的文件复制到临时目录,然后将目录添加到纹理包调用的末尾而不是单个图像来实现所需的结果。
答案 1 :(得分:0)
由于TexturePacker文档很差,我花了很多试验和错误来解决这个问题!
要将多个图像添加到单个精灵表,下面是一个示例命令,它将创建一个名为out.png(默认值)的图集,其中包含图像img_1到img_4 ...
TexturePacker --format unity-texture2d img_1.png img_2.png img_3.png img_4.png
键是仅由空格分隔的图像文件名列表。我正在使用Python,所以这里是我用来创建相同图册的脚本,上面的示例行将为您提供。使用带有通配符的glob允许我从包含许多图像的文件夹中选择图像,并且无需为了TexturePacker而将我想要的文件隔离到文件夹中。
import subprocess, glob
TP = r"C:\Program Files\CodeAndWeb\TexturePacker\bin\TexturePacker.exe"
baseFrame = "img"
def FillAtlas(baseFrame):
globString = baseFrame + "_*.png"
frameList = glob.glob(globString)
imgList = []
for frame in frameList:
imgList.append(frame)
TPargs = [TP, "--format", "unity-texture2d"] + imgList
subprocess.call(TPargs)
FillAtlas(baseFrame)