有没有一种工具可以从1000个PNG中制作一个Spritesheet?[关闭]


26

我的图形设计师在单独的PNG文件中制作了图形。是否有一个巧妙的工具/脚本将它们混成一张Spritesheet?

我可能自己也可以编写一些代码,但是为什么要重新发明轮子呢:)



1
@jhocking如果您可以发布与您在此处发布的答案完全相同的问题的答案。它们是重复的:)
MichaelHouse

8
这根本不是一个好规则。只是荒谬:2 + 2是什么?什么是8-4?OMG同样的问题
jhocking

3
更严肃的回答:可以肯定,我的答案是完全相同的,但是那里被接受的答案与这个问题完全无关。我的回答在两个地方都适用,因为这个问题是该问题的特定案例;这个问题问“任何执行精灵任务的工具吗?” 这个问题是“完成这一特定任务的工具?” 老实说,我的回答在这里更适用。我应该对别人的回答发表评论。
2012年

1
那里接受的答案没有提及将大量图像打包到一个图集中。您不必相信我的话,可以去阅读。这个问题名义上是关于Spritesheets的,因为在标题中已经提到了它们,但是这个问题主要是关于生成Spritesheet中使用的帧的动画技术。
jhocking 2012年

Answers:


21

我是唯一使用SpriteSheetPacker的人吗?它是免费的开放源代码,因此您可以对其进行修改并了解其工作方式。


2
不,还有9个人也使用它。但是,此工具尽管免费,却不能提供与TexturePacker
bobobobo 2012年

@bobobobo是吗?猜猜你的图像最终会变成什么样?i.gyazo.com/5e2e4e50d6dd0b1891439aeea06a14a5.png更多的“灵活性”,并设有耶的权利..
尼克·纽曼

@NiCkNewman有几个排序选项。试试看
Evorlor '16

是的,尝试使用它很痛苦。
javydreamercsw

13

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

另一个类似的工具是Zwoptex

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


2
TP适用于所有O / S。有GUI。到目前为止我最喜欢的。Zwoptex仅适用于Mac。
bobobobo 2012年

1
哦,天哪,我不知道这是所有操作系统。这是新的还是我以前错过了。
2012年

普肖。Mac用户。
bobobobo 2012年


3

我真的很喜欢libgdx(游戏框架)的打包程序。但是,仅为打包程序设置框架可能有点麻烦。

封隔器效果很好。在此处阅读libgdx texturepacker文档,亲自体验一下。我最喜欢的功能是,还可以在大的Spritesheet / Atlas中保存有关所有纹理的信息的文档,因此您可以轻松地编写一个脚本来为您获取它们。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

3

ImageMagick有一个命令行实用程序,可以将图像加入所谓的“蒙太奇”。获取正确的命令行参数来完成您想要的事情可能很累,但这是一个非常强大且灵活的工具。我经常使用它来构建Spritesheets。


1
您有正确参数的示例吗?
Simon_Weaver 2015年

我不是OP,而是 convert +append folder/*.png stacked.png将文件夹中的所有png(按字母顺序排列)转换为stacked.png
user1833218

0

我最终使用了此处理脚本。您可以从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);
}



0

我使用Photoshop脚本制作Spritesheets,请参阅我的博客上的这篇文章

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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.