『Unity』でゲーム用2Dアニメーションソフトウェア『Spine』を使えるようにしてみる


※追記

ランタイムのいつのバージョンからかはわかりませんが、atlasとjson、textureを同時にインポートすれば

Spine表示までの手順の②~⑨までは不要(インポート時にやってくれるよう)になりました。

インポート時に出来上がるprefabをD&Dすれば表示できます

なのでこのページほぼ不要かもしれないです…(時々自動でうまく出来ないことがあるから無駄では無いと思いたい…

Spineを使えるようにするための前準備

UnityでSpineを使う際にはランタイムが必要なので

公式サイト → ランタイム → OfficialRuntimes → Unity,C# → GitHub からダウンロード

spine-runtimes-master.zip/spine-runtimes-master/ の中にある

spine - csharp
spine - unity

という、2つのフォルダが必要ランタイムなのでUnityを起動してproject内にD&D

※Editorフォルダに入れなくても大丈夫っぽい

Spine表示までの手順

Unity Projects/Spine/Assets/SpineRuntime/spine-unity/Assets/Examples/Spine
の中にある

dragon.atlas
dragon.json
dragon.png
dragon2.png

というサンプルを使って説明

※上記以外はUnity内で作るので不要

①上記の中からatlas、jsonの拡張子を .txt にする

リネームで、『dragon_atlas.txt』『dragon_json.txt』のようにどっちがどっちかわかるようにする

②Materialを作る

シェーダーはSpine用のシェーダーが追加されているので、Spine/Skeletonというシェーダーを使う

※Spine用のシェーダーは強制ではないので画像に合ったものに変えても良い

③Project内にCreateからSpineAtlasを作る

④Project内にCreateからSpineSkeletonDataを作る

⑤作ったSpineAtlasに .txt にしたatlasとMatrialを、Inspector上にD&Dで登録する

⑥SpineSkeletonDataに⑤で作ったSpineAtlasと .txt にしたjsonをInspector上にD&Dする

⑦SpineSkeletonDataに、AddMixというボタンが出来るので使いたいアニメーションの数だけ登録する

アニメーションの種類はAnimationStateDataの中にあるアニメーション毎の名前で選べる

AnimationStateDataには横に2つアニメーションの名前があるが、横に同じ名前が並ぶように選ぶようにする

⑧ Hierarchy内にCreateからSpineSkeletonAnimationを作る

⑨Inspector上に、⑥~⑦で作ったSpineSkeletonDataをD&Dする

Loopや、Animationをさせたい場合はInspectorから設定

Skinを使う場合InitialSkinを表示させたいSkinに変更

⑩下画像みたいな感じで表示されていたら完了!!