# エクスポート

<callout>Spineのプロジェクトファイルは、[コマンドラインインターフェース](/spine-command-line-interface)を使用してエクスポートすることもできます。公式[エクスポートスクリプト](https://github.com/EsotericSoftware/spine-scripts/tree/master/export)を使えば自動的にたくさんのプロジェクトを一括でエクスポートすることができます。</callout>

Spineでは、単一の画像、一連のシーケンス画像、ビデオ、JSONまたはバイナリデータをエクスポートすることができます。

エクスポートダイアログを開くには、メインメニューから`Export(エクスポート)`を選択するか、`ctrl+E`(Macでは`cmd+E`)を押してください。

![](/img/spine-user-guide/export/menu.png)

最後に行なったエクスポートを繰り返したい場合は、`ctrl+shift+E`(Macでは`cmd+shift+E`)を押してください。

# データ

Spineでは、スケルトンデータをJSONまたはバイナリとしてエクスポートできます。このデータは[Spineランタイム](/spine-runtimes)で読み込まれ、Spine上での表示と同様にアプリケーション内で表示することができます。

<callout>これらの理由から、[コマンドラインインターフェース](/spine-command-line-interface)を使用して、Spineプロジェクトのすべてのエクスポートを自動化するスクリプトを作成することをお勧めします。</callout>

データのエクスポートでは、SpineプロジェクトファイルのデータをSpineランタイムで読める形式に変換します。エクスポートに使用するSpineエディターのバージョンは、Spineランタイムのバージョンと一致している必要があります。Spineランタイムが新しいバージョンにアップデートされた場合、そのデータをSpineプロジェクトファイルから再度エクスポートする必要があります。このため、Spineプロジェクトファイルは安全に保管しておくことが重要です。詳しくは、[バージョン設定](/spine-versioning)を参照してください。

データのエクスポートでは、プロジェクトの各スケルトンに対してデータファイルが作成されます。単一のスケルトンに対してのみや、スケルトンの一部のみ、または個々のアニメーションだけをエクスポートすることはできません。

## JSON

<callout>データファイルのサイズが重要な場合は、バイナリを使用してください。<br><br>また、ランタイムでデータファイルが読み込まれる速度が重要な場合も、バイナリを使用してください。</callout>

JSONデータはバイナリデータよりもはるかに大きく、読み込みがはるかに遅いため、一般的にはアプリケーションではバイナリデータを使用することが望ましいとされています。しかし、JSONはヒューマン・リーダブル(対人可読形式)なので、必要に応じてデータを解析および操作するツールを簡単に書くことができます。

JSONにエクスポートした後にそのJSONデータを処理し、再びSpineプロジェクトに[インポート](/spine-import)しても全く問題ありません。ただその際、[Nonessential data(非必須データ)](#Nonessential-data%28非必須データ%29)がチェックされていることを確認してください。

詳しくは[JSON出力形式のドキュメント](/spine-json-format)をご覧ください。

![](/img/spine-user-guide/export/json.png)

!table 設定項目, 説明

!row Output folder(出力フォルダ)
ここで指定されたフォルダ内に、プロジェクト内の各スケルトンに対応したJSONファイルが作成されます。ファイル名には、スケルトン名が使用されます。

!row Extension(拡張子)
出力されるJSONファイルは、ここで指定されたファイル拡張子を使用します。

!row Format(形式)
Spineはオプションで、やや軽量で読みやすく、編集しやすいJSONに似た形式で出力することができます。
* `JSON` スタンダードなJSONです。
* `JavaScript` JSONに似ていますが、名前は必要な場合のみ引用されます。データは有効なJavaScriptです。
* `Minimal` JSONに似ていますが、ほとんどの名前と値が引用されません。このフォーマットには、[libgdx](http://libgdx.com/)のような寛大なJSONパーサが必要です。

!row Pretty print(整形表示)
チェックすると、人から見て読みやすいようにJSONがフォーマットされます。そのため、ファイルのサイズが若干増加します。

!row Version(バージョン)
古いJSONバージョンを選択した場合、Spineはその古いバージョンのSpineランタイムと互換性のあるデータをエクスポートすることを試みます。しかしほとんどの場合これは可能ではなく、一部のデータが失われ、警告が表示されることになります。

旧バージョンへのエクスポートは、プロジェクトを誤って新しいバージョンのSpineで保存してしまった場合に、作業を部分的に回復するための最終手段としてのみ行うものです。詳しくは[作業の復元](/spine-versioning#新しいバージョンからの作業の復元)をご覧ください。

!row Nonessential data(非必須データ)
チェックすると、ランタイムでは通常必要とされない追加データがJSONに含まれます。そのため、ファイルのサイズが若干増加します。このデータは、JSONをSpineにインポートする際に使用されます。詳しくは[インポート](/spine-import#非必須データ)をご覧ください。

!row Animation clean up(アニメーションクリーンアップ)
チェックすると、エクスポートされるデータに対してアニメーションの[クリーンアップ](/spine-keys#クリーンアップ)が行われます。これはプロジェクトファイルには影響しません。

!row Export all(全てをエクスポート)
チェックすると、Spineは `エクスポート` のチェックが外れている項目まで含めてエクスポートを行います。

!row Warnings(警告)
チェックすると、Spineはエクスポート後に警告メッセージを表示します。

!row Pack(パック)
チェックすると、データのエクスポート時にテクスチャアトラスがパックされます。詳しくは、[データエクスポート時のパッキング](/spine-texture-packer#データエクスポート時のパッキング)をご覧ください。

!table

## バイナリ

バイナリデータは、JSONよりもはるかに小さく、ランタイムでの解析も非常に高速です。しかし、人間が読めるデータではないため、誰かがデータを解析・操作するツールを書くのは容易ではありません。

詳しくは[バイナリ出力形式のドキュメント](/spine-binary-format)をご覧ください。

![](/img/spine-user-guide/export/binary.png)

!table 設定項目, 説明

!row Output folder(出力フォルダ)
ここで指定されたフォルダ内に、プロジェクト内の各スケルトンに対応したバイナリファイルが作成されます。ファイル名には、スケルトン名が使用されます。

!row Extension(拡張子)
出力されるバイナリファイルは、ここで指定されたファイル拡張子を使用します。

!row Nonessential data(非必須データ)
チェックすると、ランタイムでは通常必要とされない追加データがバイナリデータに含まれます。そのため、ファイルのサイズが若干増加します。このデータは、バイナリデータをSpineにインポートする際に使用されます。詳しくは[インポート](/spine-import#非必須データ)をご覧ください。

!row Animation clean up(アニメーションクリーンアップ)
チェックすると、エクスポートされるデータに対してアニメーションの[クリーンアップ](/spine-keys#クリーンアップ)が行われます。これはプロジェクトファイルには影響しません。

!row Warnings(警告)
チェックすると、Spineはエクスポート後に警告メッセージを表示します。

!row Pack(パック)
チェックすると、データのエクスポート時にテクスチャアトラスがパックされます。詳しくは、[データエクスポート時のパッキング](/spine-texture-packer#データエクスポート時のパッキング)をご覧ください。

!table

# イメージ

## GIF

SpineはアニメーションGIFをエクスポートすることができ、インターネット上でアニメーションを簡単に共有することができます。GIFは256色しかない画像フォーマットなので、多少の画質の低下が起こります。また、GIFは半透明をサポートしていないため、ピクセルは必ず不透明か透明のどちらかになります。

SpineのGIFエクスポートは非常に洗練されており、可能な限り高品質のGIFを作成しますが、ファイルサイズを小さくすることを優先していません。

![](/img/spine-user-guide/export/gif.png)

[共通設定](#共通設定)と併せてご覧ください。

!table 設定項目, 説明

!row Colors(カラー)
GIFの最大色数です。

!row Color dither(カラーディザリング)
GIFカラーに適用するディザの適用量です。ディザは、グラデーションのハードエッジを防ぐために色を分散させます。

!row Alpha threshold(アルファしきい値)
ここで指定した値以下のアルファ値は0として扱われます。もし[加算ブレンド](/spine-slots#ブレンド)のスロットがある場合はここを0に設定してください。

!row Alpha dither(アルファディザリング)
GIFの透明度に適用するディザの適用量です。ディザは、ハードエッジを防ぐために透明度を分散させます。分散の種類とアルファレンジの使用方法を選択することで、最良の結果を得ることができます。もし[加算ブレンド](/spine-slots#ブレンド)のスロットがある場合はここを0に設定してください。

!row Background(背景)
使用する背景色を指定します。

!row Transparent(透明)
チェックすると、完全に透明なピクセルは、背景色の代わりに透明になります。チェックされていない場合は、指定された色がGIFの背景に使われます。

!row Matte(マット)
半透明のピクセルをマットカラーを使って不透明にします。

!row Quality(品質)
画質が高いほど色がきれいに出ますが、書き出しに時間がかかります。

!row FPS
GIFアニメーションの1秒あたりのフレーム数を指定します。一般的には50が[最も良い結果](/support#エクスポートしたGIFがSpineとは異なる速度で再生されるのはなぜですか？)をもたらします。

!row Forever(永久)
チェックすると、アニメーションが連続してループします。

!row Include last frame(最後のフレームを含む)
チェックを外すと、各アニメーションの最後のフレームが省略されます。この設定をオフにするのは、最初のフレームと最後のフレームが同一で、同じフレームが2回エクスポートされてしまうようなループアニメーションの場合に有効です。

!table

## PNG

SpineはPNG画像ファイルをエクスポートすることができます。PNGは透明度をサポートするロスレス画像フォーマットなので、画質の劣化は起こりません。

![](/img/spine-user-guide/export/png.png)

[共通設定](#共通設定)と併せてご覧ください。

!table 設定項目, 説明

!row Background(背景)
使用する背景色を指定します。

!row Compression(圧縮)
圧縮率が高いほどファイルサイズが小さくなりますが、出力に時間がかかります。

!row FPS
PNGシーケンスの1秒あたりのフレーム数を指定します。

!row Include last frame(最後のフレームを含む)
チェックを外すと、各アニメーションの最後のフレームが省略されます。この設定をオフにするのは、最初のフレームと最後のフレームが同一で、同じフレームが2回エクスポートされてしまうようなループアニメーションの場合に有効です。

!row Pack(パック)
チェックすると、エクスポートされたイメージはテクスチャアトラスにパックされます。これは便利な機能ですが、テクスチャパッカーを別途実行した方が、パッキングをより細かく制御することができます。詳しくは[テクスチャパッキング](/spine-texture-packer#パッキング)をご覧ください。

!table

## APNG

Spineは、APNG画像ファイルをエクスポートすることができます。APNGは、透明度をサポートするロスレスのアニメーション画像フォーマットで、品質の低下は起こりません。昨今のほとんどのブラウザでサポートされており、GIFよりもはるかに高品質ですが、ファイルサイズは通常大きくなります。

![](/img/spine-user-guide/export/apng.png)

[共通設定](#共通設定)と併せてご覧ください。

!table 設定項目, 説明

!row Background(背景)
使用する背景色を指定します。

!row Transparent(透明)
チェックすると、出力されるAPNGの背景が透明になります。

!row Compression(圧縮)
圧縮率が高いほどファイルサイズが小さくなりますが、出力に時間がかかります。

!row FPS
PNGシーケンスの1秒あたりのフレーム数を指定します。

!row Forever(永久)
チェックすると、アニメーションが連続してループします。

!row Include last frame(最後のフレームを含む)
チェックを外すと、各アニメーションの最後のフレームが省略されます。この設定をオフにするのは、最初のフレームと最後のフレームが同一で、同じフレームが2回エクスポートされてしまうようなループアニメーションの場合に有効です。

!table

## PSD

<callout>アニメーションの途中で現在のポーズをPSDレイヤーとして書き出しておくと、そのポーズのアタッチメント画像を簡単に描き直すことができるので、とても便利です。</callout>

Spineは、Adobe Photoshop PSDイメージファイルを書き出すことができます。PSDファイルの中には、アニメーションフレームごとのレイヤーが作成されます。

![](/img/spine-user-guide/export/psd.png)

[共通設定](#共通設定)と併せてご覧ください。

!table 設定項目, 説明

!row Background(背景)
使用する背景色を指定します。

!row Transparent(透明)
チェックすると、出力されるPSD内の画像の背景が透明になります。

!row Encoding(エンコーディング)
PSDの作成に使用する圧縮方法の種類です。
* `RAW` 非圧縮のフォーマットです。エンコードは高速ですが、エクスポートされるPSDのサイズは非常に大きくなります。
* `RLE`  エンコードは高速で、エクスポートされるPSDのサイズは小さくなります。
* `ZLIB` エンコードに時間がかかりますが、エクスポートされるPSDが非常に小さくなります。

!row FPS
PSD画像シーケンスの1秒あたりのフレーム数を指定します。

!row Include last frame(最後のフレームを含む)
チェックを外すと、各アニメーションの最後のフレームが省略されます。この設定をオフにするのは、最初のフレームと最後のフレームが同一で、同じフレームが2回エクスポートされてしまうようなループアニメーションの場合に有効です。

!table

## JPEG

Spineでは、JPEG画像を書き出すことができます。JPEGは透明度をサポートしない非可逆的な画像フォーマットであるため、指定した品質によっては多少の劣化が発生します。

![](/img/spine-user-guide/export/jpeg.png)

[共通設定](#共通設定)と併せてご覧ください。

!table 設定項目, 説明

!row Background(背景)
使用する背景色を指定します。

!row Quality(品質)
品質を上げるときれいな画像が得られますが、ファイルサイズが大きくなります。

!row FPS
JPEG画像シーケンスの1秒あたりのフレーム数を指定します。

!row Include last frame(最後のフレームを含む)
チェックを外すと、各アニメーションの最後のフレームが省略されます。この設定をオフにするのは、最初のフレームと最後のフレームが同一で、同じフレームが2回エクスポートされてしまうようなループアニメーションの場合に有効です。

!table

# ビデオ

## AVI

<callout>動画再生の対応状況は、解像度やエンコードによって異なりますのでご注意ください。動画再生ソフトの中には、再生できない動画ファイルもあれば、正常に再生できるものもあります。</callout>

Spineは、AVIビデオファイルを書き出すことができます。AVIファイルのRAWエンコーディングとPNGエンコーディングは透明度をサポートしており、Spineのアニメーションを1つのファイルとして他のソフトウェアに取り込むのに便利です。

![](/img/spine-user-guide/export/avi.png)

[共通設定](#共通設定)と併せてご覧ください。

!table 設定項目, 説明

!row Encoding(エンコーディング)
AVIビデオのエンコードに使用するコーデックを指定します。

!row Background(背景)
使用する背景色を指定します。

!row Compression(圧縮)
圧縮率が高いほどファイルサイズは小さくなりますが、出力に時間がかかります。

!row Quality(品質)
JPEGベースのコーデックでは、高画質化すると画質はきれいになりますが、ファイルサイズが大きくなります。

!row FPS
AVIビデオの1秒あたりのフレーム数を指定します。

!row Forever(永久)
チェックすると、アニメーションが連続してループします。

!row Include last frame(最後のフレームを含む)
チェックを外すと、各アニメーションの最後のフレームが省略されます。この設定をオフにするのは、最初のフレームと最後のフレームが同一で、同じフレームが2回エクスポートされてしまうようなループアニメーションの場合に有効です。

!table

## MOV

<callout>動画再生の対応状況は、解像度やエンコードによって異なりますのでご注意ください。動画再生ソフトの中には、再生できない動画ファイルもあれば、正常に再生できるものもあります。</callout>

SpineはQuickTime MOVビデオファイルを書き出すことができます。MOVファイルのRAWエンコーディングとPNGエンコーディングは透明度をサポートしているので、Spineのアニメーションを1つのファイルで他のソフトウェアに取り込むのに便利です。

![](/img/spine-user-guide/export/mov.png)

[共通設定](#共通設定)と併せてご覧ください。

!table 設定項目, 説明

!row Encoding(エンコーディング)
MOVビデオのエンコードに使用するコーデックを指定します。

!row Background(背景)
使用する背景色を指定します。

!row Transparent(透明)
チェックすると、MOVビデオの背景が透明になります。

!row Compression(圧縮)
圧縮率が高いほどファイルサイズが小さくなりますが、出力に時間がかかります。

!row Quality(品質)
JPEGベースのエンコーディングでは、高画質化すると画質はきれいになりますが、ファイルサイズが大きくなります。

!row FPS
MOVビデオの1秒あたりのフレーム数を指定します。

!row Forever(永久)
チェックすると、アニメーションが連続してループします。

!row Include last frame(最後のフレームを含む)
チェックを外すと、各アニメーションの最後のフレームが省略されます。この設定をオフにするのは、最初のフレームと最後のフレームが同一で、同じフレームが2回エクスポートされてしまうようなループアニメーションの場合に有効です。

!table

# 共通設定

ほとんどの画像やビデオのエクスポートには、これらの設定があります。その他のエクスポート設定については、各エクスポートのセクションをご覧ください。

!table 設定項目, 説明

!row Defaults(デフォルト)
すべてのエクスポート設定をデフォルトにリセットします。

!row Preview(プレビュー)
エクスポートダイアログのプレビューパネルを開きます。

!row Export type(エクスポートタイプ)
アニメーションまたは現在のスケルトンのポーズのいずれかをエクスポートします。

!row Skeletons(スケルトン)
すべてのスケルトンを同じエクスポートで一緒にレンダリングするか、別々のエクスポートでレンダリングするか、または選択したスケルトンだけをエクスポートします。

!row Animations(アニメーション)
現在のアニメーション、すべてのアニメーション、または選択したアニメーションをエクスポートします。

!row Skins(スキン)
現在表示中のスキン、すべてのスキン、またはすべてのスキンとスキンがアクティブになっていないスケルトンをエクスポートします。

!row Output type(出力タイプ)
単一のファイル、1フレームごとのファイル、1アニメーションごとのファイル、複数のレイヤーを持つ1つのファイル、または1つのフレームを持つ1つのファイルのいずれかを作成します。

!row Output file(出力ファイル)
書き出すファイル（単一のファイルを書き出す場合）。

!row Output folder(出力フォルダ)
ファイルが書き込まれるフォルダーで、各ファイルのファイル名の先頭も含まれます（複数のファイルを書き出す場合）。

!row Output prefix(出力プレフィックス)
ファイルが書き込まれるフォルダー（複数のファイルを書き出す場合）。

!row Maximum bounds(最大境界)
チェックすると、エクスポートする各ファイルの幅・高さのサイズが同じになります。

!row Animation repeat(アニメーション反復)
各アニメーションの再生回数を指定します。

!row Pause after(完了後、一時停止)
各アニメーションの再生後に一時停止する秒数を指定します。

!row Bones(ボーン)
チェックすると、スケルトンのボーンがレンダリングされます。

!row Images(イメージ)
チェックすると、スケルトンのメッシュと領域アタッチメントがレンダリングされます。

!row Others(他)
チェックすると、スケルトンのその他のアタッチメントがレンダリングされます。

!row Smoothing(スムージング)
画像に適用されるスムージングの量を制御します。

!row Multisample AA(マルチサンプルAA)
マルチサンプル・アンチエイリアシング(MSAA)のサンプル数を指定します。詳しくは[ハルのエッジ](/spine-meshes#ハルのエッジ)をご覧ください。

!row Crop(切り抜く)
チェックすると、スケルトンの境界を使わずに、指定された境界でエクスポートします。最初の2つの数字はXとYのワールド座標です。次の2つの数値は、エクスポートする領域の幅と高さです。有効にすると、プレビューパネルでオレンジ色の角をドラッグして境界を調整できます。

!row Size(サイズ)
実行するリサイズの種類を指定します。

!row Scale(スケール)
画像の相対的なスケールをパーセンテージで指定します。

!row Fit(フィット)
選択すると、画像は指定されたピクセル値内に収まるようにエクスポートされます。

!row Enlarge(拡大)
チェックすると、画像が指定したサイズよりも小さい場合は、片方の辺が指定したサイズと一致するまで、画像が比例して引き伸ばされます。

!row Pad(パッド)
チェックすると、指定したサイズに合わせて、画像に追加の空白スペースが入ります。

!row Range(レンジ)
チェックすると、指定した範囲のフレームのみがエクスポートされます。

!row Warm Up(ウォームアップ)
物理が先に動き出すことができるように、エクスポート前に各アニメーションを再生する回数を指定します。これは物理コンストレイントを使用していて、スムーズなループを実現したい場合に便利です。

!table

# プレビューパネル

プレビューパネルには、エクスポートのプレビューが表示されます。

![](/img/spine-user-guide/export/preview.png)

下部のフレームスライダーと矢印で、プレビューするフレームを選択できます。これらのフレームは、エクスポート設定で指定されたFPSに依存するため、Spineエディターのタイムライン上に表示されるフレームとは一致しない場合があります。

白いボックスは、エクスポートの境界を示しています。`Crop(切り抜く)`がチェックされている場合、枠の角がオレンジ色になり、クロップするための枠をドラッグして設定することができます。

枠の寸法はピクセル単位で表示され、エクスポート時の推定ファイルサイズが表示されます。

プレビューパネルの端をドラッグすると、プレビュー領域のサイズを変更できます。

# 加算ブレンドの使用

加算(Additive)[ブレンド](/spine-slots/#ブレンド)を使用しているスロットがある場合、静止画やビデオに背景色が設定されていると、アタッチメントが加算的にレンダリングされます。背景が透明に設定されている場合、アタッチメントは他の画像の上に重なるときは加算的にレンダリングされますが、透明な背景の上にあるときは加算的にレンダリングされません。また、アタッチメントの画像に不透明な黒が使用されている場合、透明な背景の上ではそのまま黒く表示されます。これを避けたい場合は、不透明な黒ではなく、透明な黒を使用してください。

# エクスポート設定の保存と読み込み

<callout>エクスポートファイルは、Spineプロジェクトファイルと一緒に保管すると、エクスポートの一貫性を保つのに便利です。また、ステッカー用のエクスポートなど、特定の出力用のファイルを、ゲームエンジン用のエクスポート設定と一緒に保存することもできます。</callout>

エクスポートウィンドウの左下にある `Save(保存)` ボタンを押すと、現在のエクスポート設定を JSON ファイルとして保存することができます。これにより、エクスポートダイアログに現在表示されているすべての情報が保存されます。

保存されたJSONファイルは、エクスポートウィンドウの左下にある `Load(読み込む)` ボタンを押してロードすることができます。


# エクスポートの無効化

スケルトン、アニメーション、アタッチメント、スキンには`Export(エクスポート)`プロパティがあり、チェックを外すことでエクスポートの対象外とすることができます。これはたとえば、スケルトンやアタッチメントを、背景やアニメーションのリファレンスとして使用したい場合に便利です。

これを行うには、ツリー上でスケルトン、アニメーション、アタッチメント、スキンのいずれかを選択し、ツリー下部にあるプロパティで`Export(エクスポート)`のチェックを外してください。

![](/img/spine-user-guide/export/skeleton-export.png)

アニメーション中にキーが設定されている場合でも、アタッチメントがエクスポートされない場合はそのキーはエクスポートされません。また、メッシュがエクスポートされない場合は、そのリンクメッシュもエクスポートされません。

[次: テクスチャパッキング](/spine-texture-packer)
[前: バージョン設定](/spine-versioning)
[Spine ユーザーガイド: 目次]