Mein Grafikdesigner hat Grafiken in separaten PNG-Dateien erstellt. Gibt es ein cleveres Tool / Skript, das sie zu einem Spritesheet zusammenfügt?
Ich könnte wahrscheinlich selbst etwas codieren, aber warum das Rad neu erfinden :)
Mein Grafikdesigner hat Grafiken in separaten PNG-Dateien erstellt. Gibt es ein cleveres Tool / Skript, das sie zu einem Spritesheet zusammenfügt?
Ich könnte wahrscheinlich selbst etwas codieren, aber warum das Rad neu erfinden :)
Antworten:
Bin ich der einzige, der SpriteSheetPacker verwendet ? Es ist kostenlos und Open Source, sodass Sie es modifizieren und lernen können, wie es funktioniert.
Ich habe TexturePacker verwendet , um Sprites aus einem Ordner mit PNG-Bildern zu erstellen. Ich portiere ein Spiel, das ursprünglich in Flash entwickelt wurde, also exportiere ich einfach jedes Bild des MovieClip nach png und importiere diese Bilder dann in Texture Packer.
Ein weiteres ähnliches Tool ist Zwoptex
(Letzteres ist Mac-Software, aber TP hat auch eine Version für Windows.)
Ich habe mich für Open Source für mein 2D-Spritesheet und Animationstool entschieden. Es unterstützt die automatische Auswahl von Sprites und kombiniert Bilder, Sprite-Gruppierungen und Multi-Sprite-Animationen mit Rotation.
Es ist in Java geschrieben, das Github-Repo ist hier: https://github.com/darkFunction/darkFunction-Editor
Die Website für das Projekt lautet: http://darkfunction.com/editor
Ich mag den Packer von libgdx (Game Framework) sehr. Vielleicht ist es etwas umständlich, das Framework nur für den Packer einzurichten.
Der Packer funktioniert super. Lesen Sie das libgdx texturepacker-Dokument hier und überzeugen Sie sich selbst. Mein Lieblingsfeature ist, dass es auch ein Dokument mit Informationen zu allen Texturen im großen Spritesheet / Atlas speichert, sodass Sie ganz einfach ein Skript erstellen können, das diese für Sie bereitstellt. Libgdx hat auch dieses Build, so dass ich jede Textur anhand ihres ursprünglichen Dateinamens laden / anzeigen kann, obwohl sie in einem großen Atlas enthalten ist. Es gibt auch eine GUI für den Packer .
Auszug aus einer Pack-Datei mit Informationen zu einigen Texturen:
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 verfügt über ein Befehlszeilendienstprogramm, mit dem Bilder zu einer sogenannten "Montage" zusammengefügt werden können. Es kann anstrengend sein, die richtigen Befehlszeilenparameter zu finden, um das zu tun, was Sie wollen, aber es ist ein sehr leistungsfähiges und flexibles Tool. Ich benutze es sehr häufig zum Erstellen von Spritesheets.
convert +append folder/*.png stacked.png
konvertiere alle Pngs im Ordner (alphabetisch sortiert) in stacked.png
Am Ende habe ich dieses Verarbeitungsskript verwendet. Sie können Processing kostenlos von Processing.org herunterladen. Alle Dateien müssen sich in demselben Ordner befinden und einen Dateinamen haben, der mit einer 4-stelligen Zahl endet.
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);
}
Ich weiß nicht, ob ich die Frage richtig verstanden habe, aber ich kenne die Software, die mit Texturen arbeitet und Animationen, Sprite Sheets und GIF-Animationen erstellt. siehe http://www.spritetools.com/
Das Compass-Framework verfügt über ein Tool zur Sprite-Generierung .
Ich verwende ein Photoshop-Skript, um Spritesheets zu erstellen. Weitere Informationen finden Sie in diesem Artikel in meinem Blog .
Es kann alte Skool-Kachelgitter sowie Texturatlanten erstellen und eine benutzerdefinierte Textdatei exportieren, die Informationen zur Bildgröße und Position enthält. Es funktioniert auf PC und Mac, ist Open Source und erweiterbar.