Spine で作ったアニメーションをゲームで動かすには、データ(JSON かバイナリ)と、画像をまとめたテクスチャアトラスを書き出します。
- データは JSON かバイナリ。バイナリのほうがかなり小さい
- 「Pack」にチェックを入れると、データと一緒にテクスチャアトラスも作られる
- 書き出したエディタの版(4.3 など)と、ゲーム側のランタイムの版はそろえる
- GIF・PNG・動画(AVI・MOV)でも書き出せる
2026年10月23日に公式のExport、Texture packing、Versioning、spine-unity Assetsと変更履歴を再照合しました。
ガイドと4.3向け手順で説明範囲が異なる箇所は分けて記載しています。
Unity・Spineエディタでの操作再現は含まず、画面の英語名と版ごとの差を分けて説明します。
書き出しとテクスチャパックは Essential にも含まれますが、体験版では使えません。
エディタとランタイムの版を合わせる
書き出したエディタの版の、最初の2つの数字(4.3 など)は、ランタイムの版と一致させる必要があります。
違っていると、ランタイムはデータを読めません。
安定版では先頭2数字が同じ範囲のパッチ更新に互換性があります。
エディタとランタイムのパッチ番号は別々の番号なので、3つ目まで一致させる必要はありません。
ベータ版は対応状況を別に確認します。
エディタの版は、起動したときのランチャーか設定の画面で選べます。
書き出せる形式
| 種類 | 主な形式の例 |
|---|---|
| データ | JSON・バイナリ |
| 画像 | GIF・PNG・APNG・PSD・JPEG・WEBP |
| 動画 | AVI・MOV・WEBMなど。使用版とエンコード設定を確認 |
JSONとバイナリ
バイナリは JSON よりファイルがかなり小さく、読み込みも速い形式です。
JSON は文字のファイルなので、中身を読んだり、Spine に読み戻したりできます。
| JSON の設定 | 働き |
|---|---|
| Format | 標準JSON、JavaScript(必要な名前だけ引用符で囲む)、Minimal(多くの名前や値の引用符を省く) |
| Pretty print | 人が読みやすいように整える |
| Version | 古い版のデータとして書く(JSON だけ) |
| Nonessential data | 実行には要らない追加の情報も入れる(Spine に読み戻すとき用) |
| Animation clean up | 書き出すデータだけ、不要なキーを整理する(プロジェクトは変えない) |
| Extension | 書き出すファイルの拡張子 |
Version で古い版を選ぶのは、公式ガイドでは、新しい版でうっかり保存してしまったときの最後の手段とされています。
テクスチャアトラスを作る
テクスチャアトラスは、パーツの画像を1枚(または数枚)の大きな画像にまとめたものです。
書き出しの画面で「Pack」にチェックを入れると、データと一緒に作られます。
Texture Packer の主な設定
| 設定 | 働き |
|---|---|
| Attachments / Image folders | スケルトンが使う画像だけを詰めるか、フォルダーごと詰めるか |
| Strip whitespace X/Y | 画像の周りの透明な余白を削る |
| Rotation | 詰めるときに画像を回転させる |
| Max width / height | 1ページの最大寸法。収まらない場合は複数ページに分かれる |
| Power of two | 大きさを2の累乗にする |
| Padding X/Y | 画像間の余白。公式の推奨値2pxを起点に、縮小表示やフィルターに応じて確認する |
| Bleed | 透明ピクセルのRGBを近くの不透明ピクセルの色で埋める。透明度は維持する |
| Premultiply alpha | 色に透明度をかけた形(PMA)で書く |
| Packing | Grid・Rectangles・Polygons から選ぶ |
| Filter min / mag | 縮小・拡大時のフィルター情報。取り込み側が適用するかも確認する |
| Atlas extension | アトラスのファイルの拡張子(初期値 .atlas) |
spine-unity 4.3以降の標準手順では、Premultiply alphaをオフ、Bleedをオンにしてストレートアルファで書き出します。
Unity側のテクスチャ設定とマテリアルも同じ方式にそろえます。
4.2以前の標準だったPMAを使う既存データでは、出力だけを切り替えないでください。
公式ではPMA方式はGamma色空間での利用に限定しています。
Unityで使うときの拡張子
spine-unity は拡張子 .skel を読めないので、バイナリは .skel.bytes、アトラスは .atlas.txt にします。
Unity での読み込みは、Spineのデータをspine-unityで動かす方法で紹介しています。
画像や動画で書き出す
画像や動画の書き出しでは、FPS、書き出す範囲(Range)、背景色などを決めます。
GIF では、最大の色数とディザ(色の少なさを点で補う)も設定できます。
書き出しは、コマンドライン(CLI)からも実行できます。
4.3で増えたこと
- スキンごとにアトラスを書き出す機能
- PNG圧縮の「brute force」設定。4.3.82-betaでは既定をオフへ変更した記録があり、常に有効とは限らない
練習用の書き出しと読み込み確認
元の.spineプロジェクトと画像フォルダーを残し、複製で書き出します。
既存の出力を上書きせず、practice-exportのような別フォルダーを指定します。
SpineのメインメニューでExportを選びます。
ショートカットはWindowsではCtrl+E、MacではCmd+Eです。
最初のUnity向け確認ではJSONを選び、Texture AtlasのPackをオンにします。
公式の初心者向け手順では、Nonessential dataとPretty printも有効にします。
Animation cleanupは無効にしてください。
有効にするとセットアップポーズと同じキーが書き出されず、確認したいキーが省かれるためです。
Pack SettingsでAtlas extensionを.atlas.txtにします。
4.3以降では前述のストレートアルファ設定を確認し、OKで戻ります。
別の出力フォルダーを指定し、Exportを押して、次のファイル一式を確認します。
本番用にバイナリへ切り替える場合は、Binaryを選び、Extensionを.skel.bytesにします。
データ・アトラス・画像ページを1組として比較します。
| 出力 | Unity用の例 | 確認する内容 |
|---|---|---|
| JSON形式 | practice.json | スケルトン名と版の先頭2数字を確認 |
| バイナリ形式 | practice.skel.bytes | 書き出したエディタ版とランタイム版をそろえる |
| アトラス | practice.atlas.txt | 記載された画像ページ名と実ファイルを照合 |
| 画像ページ | practice.png等 | 複数ページの場合はすべて同じ組に含める |
JSON・JavaScript・Minimalは同じ内容の表記違いですが、読込み側が各形式に対応しているとは限りません。
一般的なJSONパーサーへ渡す場合は標準JSONを選びます。
Unityの複製プロジェクトで_SkeletonDataの生成、プレビューとアニメーション名、実際の画像の表示まで確認します。
ファイルが存在するだけでは成功と判断しません。
書き出しが読めない場合と戻し方
| 症状 | 最初の確認 | 復旧方法 |
|---|---|---|
| 版不一致 | エディタとランタイムの先頭2数字 | 対応版で開ける元.spineまたは旧版バックアップから再書き出し |
| 白い・画像が欠ける | atlasのページ名とPNGの組 | 出力を別フォルダーで作り直し一組で取り込む |
| 輪郭が黒い・色が違う | PMA/ストレート、色空間、マテリアル | 一条件ずつそろえて比較 |
| データを戻したい | Nonessential dataと元プロジェクト | 元.spineと元画像から再開 |
新しいEditorで保存した.spineは、それより古いEditorでは開けません。
版を戻す場合は、先に旧版で保存したバックアップを探してください。
Runtimesを新しい版へ更新できる場合は、Editorも合わせて元プロジェクトから再出力します。
古いVersionへの書き出しは完全な変換を保証せず、失われるデータと警告を確認する最終手段です。
JSONのVersionで旧版向けに出力した後は、旧Editorへ読み戻し、警告とアニメーションを確認します。
バイナリをJSONのように編集したり、拡張子の変更だけで版を変換したりしません。
練習ファイルと確認済みの範囲
2本のC#例は参照・名前・待ち時間の異常系をローカルのテストダブルで検査し、4.3のAPI宣言を一次資料で照合しました。
実際のSpine/Unityコンパイル・描画・スキン・書き出し・変形は未検証です。
コードは4.3用です。
練習の完了は、それぞれ本文の表示・再生・復元を実環境で確認して判断します。
まとめ
- ゲーム用は JSON かバイナリ。バイナリのほうが小さい
- 「Pack」でアトラスも作り、画像間の余白と実際の縮小表示を確認する
- エディタとランタイムの版(4.3 など)はそろえる
- Unity 用は .skel.bytes と .atlas.txt
参考:Esoteric SoftwareのExport、Texture packing、Versioning、spine-unity Assets、変更履歴(2026年10月23日確認)。
2026年10月26日にExport、Unity向けの書き出し手順、Versioningを再照合しました。
今回もSpineとUnityでの書き出し・読み込み・描画は実行していません。
