Amazonで商品を見るセール会場へ

Spineの書き出し|JSON・アトラスと版の確認

Spine で作ったアニメーションをゲームで動かすには、データ(JSON かバイナリ)と、画像をまとめたテクスチャアトラスを書き出します。

  • データは JSON かバイナリ。バイナリのほうがかなり小さい
  • 「Pack」にチェックを入れると、データと一緒にテクスチャアトラスも作られる
  • 書き出したエディタの版(4.3 など)と、ゲーム側のランタイムの版は必ずそろえる
  • GIF・PNG・動画(AVI・MOV)でも書き出せる

2026年10月3日、現行の公式ガイドとspine-runtimes 4.3のソースを照合しました。

Unity・Spineエディタでの操作再現は含まず、画面の英語名と版ごとの差を分けて説明します。

書き出しとテクスチャパックは Essential にも含まれますが、体験版では使えません。

Spine のエディタでの再現は含まず、画面の名前は英語版の表記です。

目次

エディタとランタイムの版を合わせる

書き出したエディタの版の、最初の2つの数字(4.3 など)は、ランタイムの版と必ず一致させる必要があります。

違っていると、ランタイムはデータを読めません。

3つ目の数字(4.3.26 の 26)の違いは、互換性に影響しません。

エディタの版は、起動したときのランチャーか設定の画面で選べます。

書き出せる形式

種類形式
データJSON・バイナリ
画像GIF・PNG・APNG・PSD・JPEG
動画AVI・MOV
Spine User Guide「Export」をもとに作成

JSONとバイナリ

バイナリは JSON よりファイルがかなり小さく、読み込みも速い形式です。

JSON は文字のファイルなので、中身を読んだり、Spine に読み戻したりできます。

JSON の設定働き
Format標準の JSON、JavaScript(名前を引用符で囲まない)、Minimal(引用符を減らす)
Pretty print人が読みやすいように整える
Version古い版のデータとして書く(JSON だけ)
Nonessential data実行には要らない追加の情報も入れる(Spine に読み戻すとき用)
Animation clean up書き出すデータだけ、不要なキーを整理する(プロジェクトは変えない)
Extension書き出すファイルの拡張子
Spine User Guide「Export」をもとに作成

Version で古い版を選ぶのは、公式ガイドでは、新しい版でうっかり保存してしまったときの最後の手段とされています。

テクスチャアトラスを作る

テクスチャアトラスは、パーツの画像を1枚(または数枚)の大きな画像にまとめたものです。

書き出しの画面で「Pack」にチェックを入れると、データと一緒に作られます。

Texture Packer の主な設定

設定働き
Attachments / Image foldersスケルトンが使う画像だけを詰めるか、フォルダーごと詰めるか
Strip whitespace X/Y画像の周りの透明な余白を削る
Rotation詰めるときに画像を回転させる
Max width / height1枚の大きさの上限(初期値2048)
Power of two大きさを2の累乗にする
Padding X/Y画像の間のすき間(2ピクセル以上を推奨)
Bleed透明な部分の色を、隣の色で埋める
Premultiply alpha色に透明度をかけた形(PMA)で書く
PackingGrid・Rectangles・Polygons から選ぶ
Filter min / magランタイムで縮小・拡大したときの補間
Atlas extensionアトラスのファイルの拡張子(初期値 .atlas)
Spine User Guide「Texture Packer」をもとに作成

Premultiply alpha をどうするかは、使うゲームエンジンや色空間によって決まります。

Unityで使うときの拡張子

spine-unity は拡張子 .skel を読めないので、バイナリは .skel.bytes、アトラスは .atlas.txt にします。

Unity での読み込みは、Spineのデータをspine-unityで動かす方法で紹介しています。

画像や動画で書き出す

画像や動画の書き出しでは、FPS、書き出す範囲(Range)、背景色などを決めます。

GIF では、最大の色数とディザ(色の少なさを点で補う)も設定できます。

書き出しは、コマンドライン(CLI)からも実行できます。

4.3で増えたこと

  • スキンごとにアトラスを書き出す機能
  • PNG をより小さくする「brute force」の設定

練習用の書き出しと読み込み確認

元の.spineプロジェクトと画像フォルダーを残し、複製で書き出します。

既存の出力を上書きせず、practice-exportのような別フォルダーを指定します。

データ・アトラス・画像ページを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と元画像から再開

古いVersionへの書き出しは完全な変換を保証せず、失われるデータと警告を確認する最終手段です。

バイナリをJSONのように編集したり、拡張子の変更だけで版を変換したりしません。

練習ファイルと確認済みの範囲

Spine関連の練習入力とC#コードをダウンロード。

2本のC#例は参照・名前・待ち時間の異常系をローカルのテストダブルで検査し、4.3のAPI宣言を一次資料で照合しました。

実際のSpine/Unityコンパイル・描画・スキン・書き出し・変形は未検証です。

コードは4.3用です。

練習の完了は、それぞれ本文の表示・再生・復元を実環境で確認して判断します。

まとめ

  • ゲーム用は JSON かバイナリ。バイナリのほうが小さい
  • 「Pack」でテクスチャアトラスも一緒に作る。Padding は2ピクセル以上
  • エディタとランタイムの版(4.3 など)はそろえる
  • Unity 用は .skel.bytes と .atlas.txt

参考:Esoteric Software「Export」「Texture Packer」「Versioning」(2026年9月29日に確認)。

次に学ぶ・作業環境を選ぶ

学習を続けたい方や、作業環境を整えたい方は、目的に合うガイドをご覧ください。

3DCGのおすすめ書籍

3DCG用PCの選び方

周辺機器の優先度

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次