先日ドット絵のアイコン素材集を公開したのですが、その際にAsepriteで制作したタイルセットを個別の画像に出力したい場面がありました。
Asepriteは拡張スクリプトに対応しており、指定したサイズで分割保存するスクリプトも検索すれば出てきます。私も以前はそのスクリプトをお借りしていたのですが、作業効率化のためにいくつか機能を加えて自作することにしました。仕様は以下の通りです。
- 指定サイズでタイルセットを分割して出力する
- 何も描かれていない透明な画像は出力をスキップする
- ファイル名にはXY座標に基づいた連番を含め、スキップした画像の連番は空けておく
- 差分レイヤーを1つ指名し、そのレイヤーの表示と非表示、両方の状態で出力を行う
- 差分有効時はフォルダとファイル名に差分レイヤー名を含める
欲しかったのは太字の「空画像のスキップ」と「差分の出力」ですね。これがないと出力の度にファイルの数だけ手動で作業する羽目になるので…
以上の仕様で自作したものがこちらになります。ただし、私はAsepriteの拡張スクリプトはおろかLuaスクリプトも初めて触る素人ですので、色々と作法がなってないかもしれません。あくまで自己責任でお願いしますネ。
|
|
スクリプトを保存する場所はAsepriteの「ファイル」→「スクリプト」→「スクリプトフォルダを開く」で確認できます。そこに上記スクリプトを.lua形式で保存してください。
保存後は再起動か同メニューの「スクリプトフォルダを再スキャン」を選択。スクリプトのメニューに保存したファイルのタイトルが表示されるようになるので、そこから実行できます。
あとはご自身の環境に合わせて分割サイズと差分レイヤー名を指定してください。スクリプト冒頭に記述があります。
以上、Asepriteのタイルセット出力用スクリプトでした。
このスクリプトのために出品作業が1日止まりはしたものの、おかげで無駄な作業が減りましたし、以前お借りしていたものよりも処理速度がかなり改善されたので、そこは自作してよかったですね。
ループ毎に保存用イメージを生成していたりと気になる点はいくつかあるのですが、変に触って挙動が変わっちゃうのもイヤなので一旦これで公開としておきます。今後も機能が増えたらここに追記するかもしれません。