私のグラフィックデザイナーは、別々のPNGファイルでグラフィックを作成しました。それらをスプライトシートにマッシュアップする賢いツール/スクリプトはありますか?
私はおそらく自分で何かをコーディングできましたが、なぜ車輪を再発明するのですか:)
私のグラフィックデザイナーは、別々のPNGファイルでグラフィックを作成しました。それらをスプライトシートにマッシュアップする賢いツール/スクリプトはありますか?
私はおそらく自分で何かをコーディングできましたが、なぜ車輪を再発明するのですか:)
回答:
SpriteSheetPackerを使用するのは私だけですか?それは無料でオープンソースなので、修正して動作を学ぶことができます。
私が使用してきたTexturePackerを PNG画像のフォルダからスプライトを作成します。もともとFlashで開発されたゲームを移植しているので、MovieClipの各フレームをpngにエクスポートし、それらの画像をTexture Packerにインポートするだけです。
他の同様のツールはZwoptexです
(後者はMacソフトウェアですが、TPにはWindows用のバージョンもあります。)
2Dスプライトシートとアニメーションツールをオープンソース化することにしました。スプライトの自動選択、画像の組み合わせ、スプライトのグループ化、および回転を伴うマルチスプライトアニメーションをサポートします。
Javaで書かれており、githubリポジトリはこちらです:https : //github.com/darkFunction/darkFunction-Editor
プロジェクトのウェブサイト:http : //darkfunction.com/editor
libgdxの(ゲームフレームワーク)パッカーが大好きです。ただし、パッカーのためだけにフレームワークをセットアップするのは少し面倒かもしれません。
パッカーは素晴らしい作品です。こちらのlibgdx texturepackerのドキュメントを読んで、自分の目で確かめてください。私のお気に入りの機能は、大きなスプライトシート/アトラス内のすべてのテクスチャに関する情報を含むドキュメントを保存することです。そのため、それらを取得するスクリプトを簡単に作成できます。Libgdxにもこのビルドが組み込まれているため、大きな地図帳にある場合でも、元のファイル名で任意のテクスチャをロード/表示できます。packer用の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には、イメージを「モンタージュ」と呼ばれるものに結合できるコマンドラインユーティリティがあります。必要なことを行うために適切なコマンドラインパラメーターを取得するのは面倒ですが、非常に強力で柔軟なツールです。私はスプライトシートの作成に非常に頻繁に使用します。
convert +append folder/*.png stacked.png
stacked.pngにフォルダ(アルファベット順)内のすべてのPNG画像を変換
私はこの処理スクリプトを使用することになりました。Processingは、Processing.orgから無料でダウンロードできます。すべてのファイルは同じフォルダーにあり、ファイル名の末尾が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);
}
質問を正しく理解したかどうかはわかりませんが、テクスチャを操作してアニメーション、スプライトシート、.gifアニメーションを作成するソフトウェアは知っています。http://www.spritetools.com/を参照してください
コンパスフレームワークには、スプライト生成ツールがあります。
Photoshopスクリプトを使用してスプライトシートを作成します。ブログのこの記事を参照してください。
古いskoolタイルグリッドとテクスチャアトラスを作成し、画像サイズと位置情報を含むカスタムテキストファイルをエクスポートできます。PCとMacで動作し、オープンソースであり、拡張可能に書かれています。