Mon graphiste a créé des graphiques dans des fichiers PNG distincts. Existe-t-il un outil / script intelligent qui les écrase dans une feuille de sprites?
Je pourrais probablement coder quelque chose moi-même, mais pourquoi réinventer la roue :)
Mon graphiste a créé des graphiques dans des fichiers PNG distincts. Existe-t-il un outil / script intelligent qui les écrase dans une feuille de sprites?
Je pourrais probablement coder quelque chose moi-même, mais pourquoi réinventer la roue :)
Réponses:
Suis-je le seul à utiliser SpriteSheetPacker ? C'est gratuit et open source afin que vous puissiez le modifier et apprendre comment cela fonctionne.
J'ai utilisé TexturePacker pour créer des sprites à partir d'un dossier d'images PNG. Je porte un jeu initialement développé en Flash, donc j'exporte simplement chaque image du MovieClip en png, puis j'importe ces images dans Texture Packer.
Un autre outil similaire est Zwoptex
(Ce dernier est un logiciel Mac, mais TP a également une version pour Windows.)
J'ai décidé d'ouvrir le code source et l'outil d'animation 2D. Il prend en charge la sélection automatique de sprites, combinant des images, un regroupement de sprites et une animation multi-sprites avec rotation.
Il est écrit en Java, le dépôt github est ici: https://github.com/darkFunction/darkFunction-Editor
Le site Web du projet est: http://darkfunction.com/editor
J'aime vraiment le packer de libgdx (framework de jeu). Peut-être un peu lourd à mettre en place le framework juste pour le packer, cependant.
L'emballeur fonctionne très bien. Lisez la documentation de libgdx texturepacker ici et voyez par vous-même. Ma fonctionnalité préférée est qu'elle enregistre également un document avec des informations sur toutes les textures dans la grande feuille de calcul / atlas, afin que vous puissiez facilement créer un script qui les obtienne pour vous. Libgdx a également cette build, donc je peux charger / afficher n'importe quelle texture par son nom de fichier d'origine, même si c'est dans un grand atlas. Il existe également une interface graphique pour le packer .
Extrait d'un pack-fichier avec des informations sur certaines textures:
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 a un utilitaire de ligne de commande qui peut joindre des images dans ce qu'il appelle un «montage». Il peut être fatigant d'obtenir les bons paramètres de ligne de commande pour faire ce que vous voulez, mais c'est un outil très puissant et flexible. Je l'utilise très fréquemment pour créer des feuilles de sprites.
convert +append folder/*.png stacked.png
convertit tous les pngs du dossier (classés par ordre alphabétique) en stacked.png
J'ai fini par utiliser ce script de traitement. Vous pouvez télécharger gratuitement Processing sur Processing.org. Tous les fichiers doivent se trouver dans le même dossier et avoir un nom de fichier se terminant par un nombre à 4 chiffres.
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);
}
Je ne sais pas si j'ai bien compris la question, mais je connais le logiciel qui fonctionne avec les textures et fait de l'animation, des feuilles de sprite et des animations .gif. voir http://www.spritetools.com/
Le framework Compass dispose d'un outil de génération de sprites .
J'utilise un script Photoshop pour créer des feuilles de sprites, voir cet article sur mon blog .
Il peut créer de vieilles grilles de tuiles skool ainsi que des atlas de texture et peut exporter un fichier texte personnalisé contenant des informations sur la taille et la position de l'image. Il fonctionne sur PC et Mac, il est open source et écrit pour être extensible.