有没有一个工具来制作1000个PNG的Spritesheet?

我的graphicsdevise师已经在独立的PNG文件中制作graphics。 有没有一个聪明的工具/脚本,把他们拼成一个spritesheet

我大概可以自己编写一些东西,但为什么重新发明轮子:)

我是唯一一个使用SpriteSheetPacker的人吗? 它是免费和开源的,所以你可以修改它,并学习它是如何工作的。

我一直在使用TexturePacker从一个PNG图像文件夹创建精灵。 我正在移植最初在Flash中开发的游戏,因此我只是将MovieClip的每个帧导出到png,然后在Texture Packer中导入这些图像。

另一个类似的工具是Zwoptex

(后者是Mac软件,但TP也有Windows版本。)

我非常喜欢libgdx的(游戏框架)打包器。 不过,为包装员设置框架可能有点麻烦。

包装工很好。 阅读libgdx纹理包文件在这里 ,看看自己。 我最喜欢的function是,它还保存了一个关于大spritesheet /地图集中的所有纹理信息的文件,所以你可以很容易地为你制作一个脚本。 Libgdx也有这个内置的,所以我可以加载/显示任何纹理的原始文件名,即使它在一个大的地图集。 还有一个封装器的GUI 。

摘录自包含关于一些纹理的信息的包文件:

ferdige1.png format: RGBA8888 filter: Nearest,Nearest repeat: none mainmenu rotate: false xy: 2, 2 size: 800, 480 orig: 800, 480 offset: 0, 0 index: -1 plankeu3 rotate: false xy: 804, 2 size: 64, 384 orig: 64, 384 offset: 0, 0 index: -1 levelSelect rotate: false xy: 2, 484 size: 591, 373 orig: 591, 373 offset: 0, 0 index: -1 plankeu2 rotate: false xy: 870, 2 size: 64, 256 orig: 64, 256 offset: 0, 0 index: -1 

ImageMagick有一个命令行实用程序,可以将图像合并到所谓的“蒙太奇”中。 令人厌倦的是获得正确的命令行参数来完成你想要的function,但这是一个非常强大和灵活的工具。 我经常用它来制作spritesheet。

我决定开源我的2D spritesheet和animation工具。 它支持自动精灵select,将图像,精灵分组和多精灵animation与旋转相结合。

它是用Java编写的,github repo在这里: https : //github.com/darkFunction/darkFunction-Editor

该项目的网站是: http : //darkfunction.com/editor

我结束了使用这个处理脚本。 您可以在Processing.org免费下载Processing。 所有的文件需要在同一个文件夹中,并有一个以4位数字结尾的文件名。

 ArrayList<PImage> images = new ArrayList <PImage>(); void setup() { String folder = "file location ..."; String file = "file prefix ..."; String outfile = "output.png"; int fileCount = 30; int cols = 7; int rows = 5; println("Loadgin..."); for (int i = 1; i <= fileCount; i++) { String number = "" + i; if(number.length() == 1) number ="000" + number; else if(number.length() == 2) number = "00" + number; PImage img = loadImage(folder+file + number +".png"); images.add(img); } println("Starting..."); PImage img = createImage(images.get(0).width * cols, images.get(0).height * rows, ARGB); for (int x = 0; x < images.get(0).width; x++) { for (int y = 0; y < images.get(0).height; y++) { for (int z = 0; z < images.size(); z++) { img.set( x+images.get(0).width* (z%cols), y +images.get(0).height * int(z/cols), images.get(z).get(x,y)); } } } println("Saving..."); img.save(folder + outfile); } 

我不知道我是否正确地理解了问题,但是我知道使用纹理进行操作的软件,并且制作animation,精灵片和animation。 见http://www.spritetools.com/

Compass框架有一个精灵生成工具 。

[video]

我使用Photoshop脚本来制作spritesheet, 在我的博客上看到这篇文章 。

它可以做旧的skool瓷砖网格以及纹理地图集,并可以导出包含图像大小和位置信息的自定义文本文件。 它可以在PC和Mac上运行,它是开源的,并且可以被扩展。