コマンドラインインターフェース

Spineのコマンドラインインターフェース(CLI)では、コマンドラインからSpineを実行して、テクスチャアトラスのエクスポート、インポート、パックなどを行うことができます。これは、ソフトウェアのビルドプロセスの一環として、すべてのプロジェクトのエクスポートとテクスチャアトラスのパックを自動化するために最もよく使われます。

この方法で実行すると、まずSpineが起動し、1つまたは複数のエクスポートやテクスチャパックを行った後、終了します。

ほとんどのCLIパラメータはヘッドレスで使用できます。つまり、ユーザーインターフェースを表示するように設定されていないコンピュータ上でも使用できます。ただし、画像やビデオをエクスポートするには、OSのウィンドウシステムとOpenGLが必要です。

使用方法

CLIパラメータの説明は、Spineを--helpパラメータで実行したときに表示されます。追加の高度なパラメータは、Spineを--advancedパラメータで実行したときに表示されます。

エディター

Spine [-hvlft] [-x <host:port>] [-u <version>] [<path>]

-h, --help     基本的なCLIヘルプを表示して終了します。
--advanced    高度なCLIヘルプを表示して終了します。
-v, --version   バージョン情報を表示して終了します。
-l, --logout    ログアウト、アクティベーションコードの削除を行います。
-u, --update    ロードするSpineアップデートのバージョン番号を指定します。
-f, --force     Spineアップデートを強制的にダウンロードします。
-x, --proxy     アップデートの確認やダウンロードの際に使用するプロキシサーバーを指定します。
-t, --notimeout アップデートの確認およびダウンロード時のタイムアウトを無効にします。
project.spine   開きたいSpineプロジェクトファイルのパスを指定します。

最新のパッチバージョンを実行するには、-uまたは--updateで使用されるバージョン番号のパッチ部分をxxで指定します。例えば、最新の4.0バージョンを実行したい場合は、次のようにします:

Spine --update 4.0.xx

最新の安定版を実行するには、latestlateststablestableのいずれかをバージョン番号に指定します。最新のベータ版を実行するには、latestbetaまたはbetaを指定します。

エクスポート

Spine [-i <path>] [-m] [-o <path>] -e <path>
Spine [-i <path>] [-m] [-o <path>] -e json[+pack]|binary[+pack]

JSON、バイナリ、イメージ、ビデオのエクスポート:
-i, --input   フォルダ、プロジェクト、またはデータファイルへのパス。エクスポート設定JSONを上書きします。
-m, --clean   エクスポートの前にアニメーションのクリーンアップを行います。
-o, --output  エクスポートファイルを書き込むパス。エクスポート設定JSONを上書きします。
-e, --export  エクスポート設定のJSONファイルへのパスを指定します。

エクスポート設定JSONファイルはSpineのExport(エクスポート)ダイアログの下部にあるSave(保存)ボタンをクリックして作成できます。

エクスポートを行うほとんどのビルドスクリプトでは、--updateを使ってSpineエディターのバージョンを指定することになります。

CLIで指定される入力および出力パスはオプションです。指定された場合は、エクスポート設定JSONファイルで指定された入力パスまたは出力パスが上書きされます。

inputパスに入るのは、プロジェクト、JSON、またはバイナリファイルへのパスです。outputパスに入るのは、エクスポート設定に応じて、ファイルまたはフォルダのどちらかになります。

--clean-allを使用するとパラメータはすべてのエクスポートをクリーンにするので、--cleanをそれぞれのエクスポートに指定する必要はなくなります。

--cleanパラメータを指定すると、エクスポート前にアニメーションのクリーンアップが行われます。これはプロジェクトファイル自体には影響しません。

エクスポート設定JSONファイルへのパスの代わりにjsonまたはbinaryが指定された場合は、デフォルトの設定でJSONまたはバイナリのエクスポートが実行されます。json+packまたはbinary+packが指定された場合は、デフォルトの設定でテクスチャパッキングも実行されます。

インポート

Spine -i <path> [-s <scale>] -o <path> -r [<name>]

JSON、バイナリ、プロジェクトのスケルトンを別のプロジェクトにインポートします:
-i, --input   インポートするフォルダ、プロジェクト、データファイルへのパスを指定します。
-o, --output  インポート先のプロジェクトファイルへのパスを指定します。存在しない場合は作成されます。
-s, --scale   インポートされるプロジェクトのスケールを設定します。
-r, --import  スケルトンのインポートを行います。スケルトン名は省略可能です。

inputパスに入るのは、プロジェクト、JSON、またはバイナリファイルです。または、.spine.json.skelファイルを含むフォルダでも指定できます。

outputパスに入るのはプロジェクトファイルです。

--scaleが指定されている場合、そのプロジェクトのスケルトンはインポートされる前にスケールが調整されます。

あるプロジェクトが別のプロジェクトにインポートされた場合、すべてのスケルトンがインポートされます。--importを使用してスケルトン名が指定され、1 つのスケルトンだけがインポートされた場合は、スケルトンの名前が変更されます。複数のスケルトンがインポートされた場合、スケルトン名は無視され、スケルトンは既存の名前のままとなります。

JSON ファイルまたはバイナリ ファイルがプロジェクトにインポートされ、--importを使用してスケルトン名が指定された場合、スケルトンの名前が変更されます。スケルトン名が指定されていない場合、スケルトンはJSONまたはバイナリファイル名から拡張子を除いたものを使用して命名されます。

クリーンアップ

Clean up: Spine -i <path> -m

アニメーションのクリーンアップ:
-i, --input   プロジェクトファイルまたはフォルダへのパスを指定します。
-m, --clean   アニメーションのクリーンアップが行われ、プロジェクトが保存されます。

アニメーションのクリーンアップは、プロジェクト内のすべてのアニメーションに対して行われ、プロジェクトファイルは変更された状態で保存されます。

inputパスに入るのは、プロジェクトファイルまたは.spineファイルを含むフォルダです。

パック

Spine -i <path> [-j <path>]... -o <path> -p <name>
Spine -i <path> [-j <path>]... -o <path> [-n <name>] -p <path>

テクスチャアトラスのパッキング:
-i, --input   パックされる画像のフォルダへのパスを指定します。
-o, --output  テクスチャアトラスとPNGファイルの書き込み先へのパスを指定します。
-j, --project メッシュで使用されるイメージを決定するプロジェクトへのパスを指定します。
-n, --name    テクスチャアトラス名を指定します。これはアトラスとPNGファイルの接頭辞になります。
-p, --pack    テクスチャアトラス名、またはパック設定JSONファイルへのパスを指定します。

inputおよびoutputのパスは、フォルダへのパスです。

--packまたは-pパラメータには、以下のどちらかが入ります:

  • 出力ファイルを書き込む際に使用するテクスチャアトラス名。アトラス名を指定した場合、デフォルトのテクスチャパック設定が使用されますが、入力フォルダ内にpack.jsonファイルを置くことでカスタマイズすることができます。
  • パック設定JSONファイルへのパス。このファイルは、Spineのテクスチャ・パッカー設定ダイアログの下部にあるSave(保存)ボタンをクリックして作成できます。 名前が指定されていない場合は、パック設定JSONファイルの名前からファイル拡張子を除いたものがテクスチャアトラス名として使用されます。

--projectは1つまたは複数のプロジェクトファイルを指定できます。空白削除を有効にすると、テクスチャ・パッカーはこれらのプロジェクトで各画像ファイルを検索します。画像ファイルを使用しているメッシュはすべて考慮されるので、空白削除によってメッシュ内のイメージの一部が削除されることはありません。 --projectまたは-jが指定された場合、テクスチャ・パッカーのcurrentProject(現在のプロジェクト)設定は、それがtrueに設定されている時のように無視されます。

アンパック

Spine -i <path> -o <path> -c <path>

テクスチャアトラスのアンパッキング:
-i, --input   アトラス画像のフォルダへのパスを指定します。
-o, --output  アンパックされた画像ファイルの書き込み先へのパスを指定します。
-c, --unpack  テクスチャアトラスファイルへのパスを指定します。

情報

Spine -i <path>

プロジェクト情報:
-i, --input   フォルダ、プロジェクト、またはデータファイルへのパスを指定します。

各プロジェクトファイルの情報が出力されます。これは、「プロジェクトがどのバージョンのSpineで保存されたか」や、「プロジェクトに含まれるアニメーションの数」などの情報を得るのに役立ちます。

inputパスに入るのは.spineファイルを含むフォルダ、プロジェクトファイル、またはJSONやバイナリデータファイルです。

高度な設定

高度な設定:
--trace            追加のログおよび診断チェックを有効にします。
--auto-start       自動的に起動します。
--no-auto-start    自動的に起動させなくします。
--ping             各サーバーへのレイテンシーをテストします(それ以外は4日ごとに実施)。
--server x         pingに関係なく、優先するサーバーを設定します(例:jp/us/eu)。
--disable-audio    すべてのオーディオサポートを無効にします。
--pretty-settings  設定ファイルをより綺麗に整形します。
--keys             ホットキーのポップアップをデフォルトで有効にします。
--hide-license     ランチャーで名前やメールアドレスを非表示にします(ストリーミング用など)。
--ui-scale x       インターフェースのスケールを設定します(例:200)。
--icc-profile x    カラーマネジメント用のICCプロファイルファイルのパスを設定します。
--intro            Esoteric Softwareのロゴのイントロを表示します。
--clean-all        すべてのエクスポートのためのアニメーションのクリーンアップを行います。
--mesh-debug       メッシュの上にデバッグ情報を表示します。
--export-selection エディター選択が画像やビデオのエクスポートで表示されます。
--ignore-unknown   CLIのパラメータが認識されない場合にエラーにならないようにします。

Spine --export /path/to/export.json
Spine --export "/path/with spaces/to/export.json"
Spine --input /path/to/project.spine --output /path/to/output/
      --export /path/to/export.json
Spine -i /path/to/project.spine -o /path/to/output/ -e /path/to/export.json
Spine -i /path/to/project.spine -o /path/to/output/ -e binary+pack
Spine -e /path/to/export1.json -e /path/to/export2.json
Spine -i /path/to/images/ -o /path/to/output/ --pack /path/to/pack.json
Spine -i /path/to/images/ -o /path/to/output/ -n name -p /path/to/pack.json
Spine -i /path/to/project1.spine -o /path/to/output/ -e /path/to/export1.json
      -i /path/to/project2.spine -e /path/to/export2.json -i /path/to/images/
      -o /path/to/output/ -p /path/to/pack.json
Spine -i /path/to/skeleton.json -o /path/to/project.spine -r skeletonName

上記のいくつかの例に見られるように、1回のSpine呼び出しで複数のコマンドを指定することができます。

outputパス用のフォルダが存在しない場合は作成されます。

コマンドが失敗した場合、Spineは0以外のエラーコードを返します。

Spineのすべてのサンプルプロジェクトをエクスポートするために使用されているこちらのエクスポートスクリプトは、SpineのCLI使用の実例として参考にできます。Windowsユーザーは、Cygwinを使用してbashで同様のスクリプトを書くことができます。

不明なパラメータ

Spineランチャーは、指定されたパラメータが許可されているかどうかをチェックしてからSpineエディターに渡します。いくつかのCLIパラメータがacceptedでない(受け入れられていない)場合、それらのパラメータは「Spineランチャーがインストールされたときには利用できなかったが、新しいバージョンのSpineエディターでは理解できる」という可能性が考えられます。

その場合、Spineランチャーをダウンロードして再インストールするか、--ignore-unknownパラメータを使用して、Spineランチャーが認識できないパラメータを許可するようにできます。認識できないパラメータには警告が表示されますが、Spineエディターにはそのパラメータが渡されます。Spineエディターがパラメータを認識できない場合は、無視されます。

CLIパラメータによるSpineの実行

Windows

Spine for Windowsには、Spine.exeSpine.comの2つの実行ファイルが付属しています。EXEファイルはGUIアプリケーションで、コンソールウィンドウを表示せずにSpineを起動し、Spineの終了を待ちません。COMファイルはコマンドラインアプリケーションで、Spineの出力をコンソールウィンドウに送り、Spineが終了するのを待ちます。

コマンドラインインターフェースではどちらの実行ファイルも使用できますが、一般的にはCOMファイルを使用することをお勧めします。Spineのインストールフォルダがシステムパス上にあるか、現在の作業ディレクトリにある場合、Spineを拡張子なしで指定すると、常にSpine.comが実行されます。例えば、以下のようになります:

Spine -e C:\path\to\export.json

Mac

Spine for Macを使用する際のコマンドラインエクスポートは、Spine.appを開くのではなく、Spineの実行ファイルを直接起動して行います。実行ファイルはSpine.app 内のSpine.app/Contents/MacOS/Spineにあります。例えば、以下のようになります:

/Applications/Spine.app/Contents/MacOS/Spine -e /path/to/export.json

Linux

Spine for Linuxを使用する際のコマンドラインエクスポートは、Spine.shスクリプトを実行することで行います。例えば、以下のようになります:

./Spine.sh -e /path/to/export.json

次: 設定 前: インポート