LoginSignup
1
3

More than 5 years have passed since last update.

Spine 未整理 Memo ToUnity

Last updated at Posted at 2018-04-09

自分用:雑メモSpineToUnity

■Unity側のセットアップ

  1. https://github.com/EsotericSoftware/spine-runtimes/
    からspine-runtimes-3.6をダウンロード
    http://ja.esotericsoftware.com/spine-unity-download/
    公式からも直接ダウンロードできるっぽい。
  2. 解凍してspine-csharpとspine-unityのフォルダーをUnityプロジェクトのAsset下にドラッグコピー
    ※アセットインポートじゃないので注意。

    現在はアセットインポートになってるみたいです。
    なのでメニュー -> Assets -> Import Package -> Custom Packageからインポートします。

■Spine側の出力設定

  1. [メニュー][エクスポート]
  2. エクスポートダイアログでJSONを選択
  3. 出力フォルダを指定した後、アトラス作成にチェックを入れて設定ダイアログを開く
  4. PackSettingsの画面右下[オプション項目][アトラス拡張子]の語尾に[.txt]を追加する。
    [XX.atlas][XX.atlas.txt]) 
  5. OKを押してエクスポートダイアログに戻り、エクスポートボタンを押す。

■SpineデータをUnityにインポート

  1. Spineからエクスポートしたデータ(.json/.png/.atlas.txt)をAsset下にドラッグコピー
  2. AtlasSet/Material/SkeletonDataが自動生成される。
  3. SkeletonDataをsceneにドラッグ
  4. SkeletonAnimation/SkeletonGraphic(UI)/SkeletonAnimatorのどれかを選ぶ。
  5. HierarchyでSkeletonDataを選択してInspector内で調整する。
  • SkeletonAnimation
    • Animationコンポーネントがセットされる。とりあえず動かしたい場合に選択。
  • SkeletonGraphic(UI)
    • UIのアニメーションデータ用。Canvas下に配置しないと描画されない。
  • SkeletonAnimaator
    • Animatorコンポーネントがセットされる。Mecanimを使用する場合に選択。

■UnityでSpineSkeletonを動かす。

  1. HierarchyでSpineデータを選択。(又はProjectでPrefabを選択)
    元データではなく、エイリアスデータを選択する事。
  2. Inspectorの[SkeletonAnimation(Script)][Advanced]を展開
  3. [AddSkeletonUnity]というボタンを押す。
  4. [SkeletonUnity(Script)]というコンポーネントが追加される。
  5. [SpawnHiererchy]を押してFollow又はOverrideを選ぶ
  6. HierarchyにSkeletonが表示される。
  • followは表示させるだけで動かせない。
  • OverrineはUnity上で骨を動かせる。
  • RootOnlyを選ぶとRootのみ表示される。
  • 表示させた骨のInspectorでFollowとOverrideの切り替えが可能。
    又、内包している子供のボーンも指定して表示可能。

■UnityでSpine内のSlotにアクセスする。

  • Spineから出力した元データのInspectorの[Preview][Slot][ShowSlot]で確認できる。
  • Slotの内部データにアクセスはできるが切り替えもアニメーションクリップに組み込まれてしまうのでアニメーター側からは制御できない。エンジニアに拡張してもらう必要があるかと思われる。

■Spine出力Name

Spineのエクスポートで出力されるファイル名はSpineツリー最上部のスケルトン名になる。
※セーブ時のプロジェクトファイル名じゃないので注意。
※SkeletonSetが複数の場合、セットごとに.json/.png/.atlas.txtがそれぞれ生成される。
(→1つのスケルトンセットで1データというくくり)

■Spine再出力時のUnity側の更新

クリップの追加や削除などをしてAnimatorを使用していた場合、Spineから出力した元データのInspectorの[SkeletonAnimator][FarceUpdateAnmationClips]でController内のクリップを更新できる。
(Controller内に追加したクリップが無い場合に押そう!)

1
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
3