SpineがGodotに対応するかもしれない

2021.12.27

SpineがGodotに正式対応するかもしれない

最近の趣味は Godot Engine の情報をウォッチすることで、いつものようにTwitterを見ていたら、「GodotでSpineをサポートする」という情報があり、「またまたご冗談を……」と思ってリンク先を見たら公式情報でした……!

次のリリースはSpine 4.1になりますが、主にエディター側のクオリティ・オブ・ライフを向上する機能に注力する予定です。ランタイム側では、新しいゲームツールキット(特にGodot)のサポートを追加する予定です!

Spine 4.0が登場 > 今後について

GodotのSpine対応は現状だと個人の方が対応したもののみとなっており、しかも提供されているものはC++コードなのでビルドを自分で行う必要があり(Godot Engineのビルドが必要)少しハードルが高いです。

それと、Godot側はエンジンのコンセプト上、Spineに対応することはほぼないと考えています。

  1. カットアウトアニメーションが独自に実装されており、それを使ったほうが開発効率が良いと考えられている
  2. 多くの人が必要としないものは標準機能として対応しない(コアセットを小さく保つ

■Godot側がSpineを対応しない理由

また、Spine公式の掲示板でも「SpineがGodotに対応するのはいつ?」という質問がされていたのですが、5年間放置されていました。


そのため Godot の Spine対応は絶望的と考えていたので、このニュースは嬉しかったです。

ただ、Spine公式がGodot対応を5年間放置していた過去があるので、すぐに対応されるとは考えないほうが良さそうです。

以下は5年前にSpine公式がコメントしたものです。

Godotサポートを追加しますが、作業を開始できるようになるまでにはしばらく時間がかかります。私たちは現在、最初に注意を払う必要のある多くの非常に差し迫った問題に取り組んでいるのではないかと思います。しかし、それは起こります!

Spineフォーラム > 公式Godotサポート

なので、個人的には気長に対応を待っていようかと思います。


追記:2022.4.7

開発は少しずつ進んでいるようです

Spine公式のフォーラムによると開発は順調に進んでいるようですが、リリースはまだ先とのことです。

We’ve started work on an official Godot plugin but that’s still a bit away from release. There’s a 3rd party spine-godot plugin, which ours is based on, as the author has generously donated it to us. You could give that a try in the meantime. But note that we are changing quite a few things around. 

公式のGodotプラグインの作業を開始しましたが、まだリリースから少し離れています。著者が惜しみなく私たちに寄付してくれたので、私たちのベースとなっているサードパーティのspine-godotプラグインがあります。それまでの間、試してみてください。ただし、かなりの数の変更が行われていることに注意してください

The original plugin: https://github.com/rayxuln/spine-runtime-for-godot

Ours can be found in the spine-godot branch (based on spine-runtimes 4.0) on GitHub: https://github.com/EsotericSoftware/spine-runtimes/tree/spine-godot

SpineはGodotと連携しますか?

有志の方が作成したプロジェクトをもとに、公式が作り直しをしているようです。

追記:2022.7.20

ビルド済みの実行ファイルがダウンロードできるようになっていました

Spine 4.1 がリリースされ、spine-godotの開発 も進んでいるようです

Spineを動かすには Godot Engine のソースコードのコンパイルが必要になるみたいですが、Github のページにはコンパイル済みの実行ファイルが用意されているので、ビルドなしで使えるのかもしれません。

時間を見つけて調査したいと思います。

追記:2022.7.23

少し調べてみました

現時点ではまだ正式リリースではないですが、少し動作を確認しました。

現状はエンジンビルドする必要がありますが、Github のページからSpineを組み込んだ実行ファイルがダウンロードできるので、少し試すだけなら、こちらを使ったほうが早いです。

実行すると、ノードの種類にSpine関連のものが含まれています。

ここの「SpineSprite」が Spineを制御するためのスプライトとなります

そしてインスペクタから Atlas や Jsonファイルの読み込みを指定すると Spineデータを確認できます。

なお、注意点として読み込むデータは Spine バージョン 4.1 以降のものでないと動作しないようです。