spine-godot(Godotエンジンへの Spine 対応版)がだいぶ良さげに動いていたので、かんたんに紹介する記事を書きました
目次
実行ファイルのダウンロード
spine-godotを利用するにはエンジンビルドが必要なのですが、実行ファイルをビルドしたものが提供されているので、少し試すだけなら、spine godotランタイムドキュメント のページからダウンロードするのが早いと思います
macOS版のみの問題点
macOS版は野良実行ファイルは動かせませんので、実行権限を与えて実行する必要があります。
またディスクへのアクセス権を設定しないと、以下のダイアログが出続けてしまう問題があります
![](https://2dgames.jp/wp-content/uploads/2022/07/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88_2022_07_23_16_37.png)
いつもなら、このあたりの設定で出なくなりそうなのですが、私の環境では解決策が見つかっていません
![](https://2dgames.jp/wp-content/uploads/2022/07/Cursor_%E3%81%A8_%E3%82%BB%E3%82%AD%E3%83%A5%E3%83%AA%E3%83%86%E3%82%A3%E3%81%A8%E3%83%97%E3%83%A9%E3%82%A4%E3%83%90%E3%82%B7%E3%83%BC-1024x401.png)
本格的に使うときにもう少し調べてみようかと思います
SpineSprite
spineデータを読み込む場合には「SpineSprite」というノードを使う必要があるみたいです
![](http://2dgames.jp/wp-content/uploads/2022/07/Main_tscn_-_TestSpine_-_Godot_Engine.png)
このノードを作成して、インスペクタからリソースを読み込ませると、Spineデータを表示することができます。
![](http://2dgames.jp/wp-content/uploads/2022/07/animation-state-listeners_tscn_-_spine-godot-examples_-_Godot_Engine-1024x961.png)
対応データ
spine-godotが対応しているのは v4.1以降の Spineデータとなります。それ以前のデータの読み込みは正常にできないようなので注意が必要です。なお、なぜか公式のSpineboyサンプルは v4.1 に変換しても spine-godotでは表示できなかったので、spine-godotに含まれるサンプルを使用した方が良さそうです。
アニメーションをスクリプトで制御する
アニメーションの制御は get_animation_state() でアニメーションを取得し、set_animaton() で再生します
extends Node2D
# SpineSpriteを取得
@onready var spine = $SpineSprite
func _ready() -> void:
# アニメーションを取得
var anim = spine.get_animation_state()
# "run" という名前のアニメーションを ループあり、トラック0 で再生する
anim.set_animation("run", true, 0)
シグナル
SpineSpriteのシグナルは以下のものが用意されています
- animation_started: アニメーション開始
- animation_interrupted: アニメーション変更時
- animation_ended: アニメーション終了
- animation_completed: アニメーションループ時
- animation_disposed: アニメーション破棄時
- animation_event: ユーザーイベント
Spineからのデータエクスポート
Spineからデータをエクスポートする場合は、必ず v4.1以上を指定します
![](https://2dgames.jp/wp-content/uploads/2022/07/Spine-1024x728.png)
また、.atlasと.pngを出力するため「パック」にもチェックを入れておきます。
生成された、.atlas / .png / .json (または .skel) をGodotプロジェクト内の同一フォルダに配置するとインポートできるようになります
より詳しい情報
より詳しい情報はサンプルコードやヘルプ、ドキュメントを読みます
サンプルコードはspine-runtimesここからコードをダウンロードして「spine-godot/example」フォルダにあります。
ドキュメントはspine-godot Runtime Documentに公式ドキュメントがあります。
参考ページ
- spine-godot (Github):ビルド済みの実行ファイルやサンプルがあります
- spine-godot Runtime Document:公式のドキュメント
- spine-runtimes:サンプルコードはここからダウンロードして「spine-godot/example」フォルダを調べます