エクスポート用シェルスクリプトを公開しました
February 15th, 2024
エクスポート作業の効率化
たくさんのSpineプロジェクトを一括でエクスポートすることが可能な新しいシェルスクリプトを公開しました!このスクリプトは .spine
プロジェクトファイルを検索し、見つかった各プロジェクトをエクスポートします。また、プロジェクトファイルの隣にエクスポート設定ファイルを置いておけば、プロジェクトごとに異なるエクスポート設定を使用することができます。
スクリプトを利用してのエクスポートには、多くの利点があります:
- 任意の数のプロジェクトファイルを一括でエクスポートできます。
- エクスポートに必ず正しい設定を利用できます。これにより、他のアニメーターに正しい設定を都度共有する必要がなくなります。
- 開発しているソフトウェアのビルドプロセスの中でエクスポートスクリプトを実行すれば、各ビルドが常に最新のエクスポートファイルを使用していることを確実にできます。これにより、各アニメーターはプロジェクトファイルに変更を加えるたびにエクスポートを実行する必要がなくなります。
- 新しいSpineバージョンにアップデートする際、全てのプロジェクトを再エクスポートする必要がありますが、このスクリプトの設定だけしておけばとても簡単に行えるようになります!
はじめに
このスクリプトの使い方は以下のビデオで紹介しています。
また、詳細な手順については以降のセクションで紹介しています。
スクリプトのダウンロード
お使いのOS(オペレーティングシステム)に合わせたスクリプトをダウンロードしてください:
- Windows: spine-export.bat
- macOS or Linux: spine-export.sh
スクリプトに関する詳細はspine-scripts GitHubリポジトリにて確認できます。
スクリプトの設定
スクリプトを任意のテキストエディターで開くと、冒頭にCustomization Section
を確認できます。以下はspine-export.bat
からの抜粋です。(spine-export.sh
でもほぼ同じような内容になっています):
最初の3つの設定についてはスクリプトを実行する前に確認してください:
-
SPINE_EXE
Spineの実行ファイルのパスです。もしここに設定されているパスでSpineが見つからなかった場合、スクリプトは他の一般的なインストール先を検索します。 -
VERSION
エクスポートを実行する際に使用するSpineエディターのバージョンです。Spineエディターとランタイムのバージョンは必ず一致させる必要があることに注意してください。 -
DEFAULT_EXPORT
このスクリプトは発見したSpineプロジェクトと同フォルダ内にエクスポート設定JSONファイルがあるかどうかを探します。見つからなかった場合、ここで指定された設定に従ってエクスポートが実行されます。一般的なデフォルト設定のために、json
、json+pack
、binary
、binary+pack
の4つのショートカットが用意されているので、これらを使用するか、または任意のエクスポート設定ファイルへのパスを指定することもできます。(詳しくは後のセクションをご覧ください。)
スクリプトの実行
Windows
Windowsではスクリプトを実行するにあたって様々な方法があり、お好きな方法を選べます:
- ファイルの上にフォルダをドラッグアンドドロップする。
spine-export.bat
ファイルをダブルクリックしてCMD(コマンドライン)ウィンドウを開き、フォルダのパスを打ち込むか、貼り付けるか、またはフォルダ自体を直接CMDウィンドウ上にドラッグアンドドロップする等して入力する。- コマンドプロンプトから
spine-export.bat
ファイルを実行して、フォルダのパスを打ち込むか、貼り付けるか、またはフォルダ自体を直接CMDウィンドウ上にドラッグアンドドロップする等して入力する。 - コマンドプロンプトから
spine-export.bat
ファイルを実行して、以下のようにフォルダのパスを第一引数として渡して実行する。
上のいずれかの方法で実行すると、スクリプトは指定されたフォルダを全てのサブフォルダまで含めて検索し、見つかった.spine
ファイルのエクスポートを実行します。
macOS または Linux
macOSまたはLinuxの場合、spine-export.sh
を実行する前に実行権限(execute permission)を付与する必要があります。Terminalを開いて、スクリプトが配置されているディレクトリまで移動し、以下のコマンドを使って実行権限を付与してください。
スクリプトを実行するには、./spine-export.sh
とエクスポートしたいSpineプロジェクトを含んでいるディレクトリのパスを指定してください。例えば以下のように指定します:
スクリプトの実行時にパスを指定しなかった場合は、スクリプトがパスを入力するように促すメッセージを出力します。
実行すると、スクリプトは指定されたディレクトリを全てのサブディレクトリまで含めて検索し、見つかった.spine
ファイルのエクスポートを実行します。
エクスポート設定
詳細なエクスポート設定を指定するには、エクスポート設定JSONファイルを用意する必要があります。
エクスポート設定の保存
Spineエディター内のエクスポートダイアログの左下に、現在のエクスポート設定をJSONファイルとして保存するためのSave
(保存)ボタンがあります。
保存されたエクスポート設定ファイルは".export.json"という拡張子を持ちます。
もしエクスポート設定の中でPack
(パック)がチェックされていた場合、テクスチャパッカーの設定もこの.export.json
ファイル内に保存されます。
デフォルトのエクスポート設定
任意のテキストエディターでスクリプトを開いて、DEFAULT_EXPORT
の値をご自身の.export.json
ファイルへのパスに変更することで、デフォルトのエクスポート設定を変更できます。例えば以下のように指定できます:
この設定は、見つかったプロジェクトファイルと同階層に .export.json
が見つからなかった場合に使用されます。
ただし、出力先については、.export.json
ファイルで指定されたパスではなく、Customization Section
内のDEFAULT_OUTPUT_DIR
に指定された値が使用されることに注意してください。
プロジェクト毎のエクスポート設定
特定のSpineプロジェクトを異なる設定でエクスポートするには、.export.json
ファイルを用意してそれをそのSpineプロジェクトと同じフォルダ内に置いてください。例えば、ファイルシステムでの階層は以下のようになります:
├── 01
│ ├── skeleton1.spine
│ ├── skeleton1.export.json
│ ├── images
├── 02
│ ├── skeleton2.spine
│ ├── skeleton2.export.json
│ ├── images
└── 03
├── skeleton3.spine
├── skeleton3.export.json
└── images
※.export.json
ファイルの名前はプロジェクトファイルの名前と一致させる必要はありません。
同じプロジェクトを複数の設定でエクスポートする
特定のプロジェクトを異なるエクスポート設定で複数回エクスポートするには、実行したいエクスポートの分だけ .export.json
ファイルを用意してください。例えば、バイナリ形式のスケルトンデータとPNGシーケンスの両方をエクスポートしたい場合、ファイルシステムの階層は以下のようになります:
├── 01
│ ├── skeleton1.spine
│ ├── skeleton1_Binary.export.json
│ ├── skeleton1_PNG.export.json
│ ├── images
├── 02
│ ├── skeleton2.spine
│ ├── skeleton2_Binary.export.json
│ ├── skeleton2_PNG.export.json
│ ├── images
└── 03
├── skeleton3.spine
├── skeleton3_Binary.export.json
├── skeleton3_PNG.export.json
└── images
デフォルト設定とカスタム設定を混合する
同フォルダ内に.export.json
ファイルが存在しないプロジェクトは、デフォルト設定でエクスポートされます:
├── 01
│ ├── skeleton1.spine
│ ├── skeleton1_Binary.export.json
│ ├── skeleton1_PNG.export.json
│ ├── images
├── 02
│ ├── skeleton2.spine <このスケルトンはデフォルト設定でエクスポートされます>
│ ├── images
└── 03
├── skeleton3.spine
├── skeleton3_Binary.export.json
├── skeleton3_PNG.export.json
└── images
スクリプトの改造
これらのスクリプトは、Spineのコマンドラインインターフェースを使用するなどしてどうぞお好きに改造していただいて結構です。 分かりやすいようにこのスクリプト内の全ての処理には細かくコメントが記述されていますが、 READMEファイル にてさらに詳しくこのスクリプトがどのように動いているかが解説されています。
このチュートリアルはお役に立ちましたか?ぜひあなたのフィードバックをSpineフォーラムでお聞かせください!