Godot のゲームに、プロフェッショナルな2Dアニメーションを。直感的な使いやすさと、極限のパフォーマンスを両立するプラグイン。
注意: 本
developブランチは現在開発中のバージョンです。安定版は main ブランチ または Releases から取得してください。本ブランチで扱う API・ワークフローは予告なく変更される可能性があり、いかなる保証もサポートも提供しません(リクエストやバグ報告への返信もできません)。
SpriteStudio のアニメーション (.ssab) を Godot Engine 上で再生するためのハイパフォーマンスな拡張プラグイン(GDExtension / カスタムモジュール)です。Godot の強力な機能と、専用アニメーションツールの表現力を組み合わせることで、リッチな2Dゲーム開発をサポートします。
- キャラクターからUI、エフェクトまで完結する「圧倒的な汎用性」 キャラクター特化型のツールとは異なり、メッシュ変形を用いたキャラクターアニメーションから、UIトランジション、リッチなパーティクルエフェクトまで、すべてを一つの専用エディタで完結できます。お使いのラスター画像の表現力を極限まで引き出します。
- 背景やエフェクトを含めた「シーン全体」の構築 キャラクター単体だけでなく、背景、エフェクト、UI を組み合わせた「カットシーン」や「画面全体」の演出をエディタ上で丸ごと構築し、Godot 上で1つのアニメーションとしてそのまま再生できます。
- エンジンをまたいだ「視覚的整合性」 ポーズ・補間・デフォーム・描画順は、全公式プレイヤーで共通の独立したコアランタイムが計算します。そのためエンジン独自仕様に由来する構造的な「見た目のブレ」は発生せず、ここはエンジン間で一致します。ブレンドモードとパーツカラーは「意図」として渡され、ホスト側の描画レイヤーが再現できる範囲で忠実に再現します(完全一致ではなくベストエフォート)。マスク・テキスト・音声は Godot 自身が担当します。サブフレーム補間により、高リフレッシュレートでも滑らかに描画されます。
- Godotの「ノード」としての自然な統合と、コンフリクト回避
SpriteStudioPlayer2Dは標準的なノードとして Godot のシーンにシームレスに統合されるため、ノードツリーを肥大化させず GDScript から簡単に制御できます。同時に、アニメーションデータ自体はシーンから分離されるため、チーム開発時の Git コンフリクトを未然に防ぎます。 - ゼロコピー・ロードと SIMD 活用による極限パフォーマンス
最適化されたバイナリ(
.ssab/ FlatBuffers)へコンバートして使用することで、実行時のパース負荷をゼロに抑え、オンメモリで即座に再生できます。内部計算でSIMDをフル活用しており、最小のCPU・メモリ負荷で最大のアニメーション再生パフォーマンスを叩き出します。大量のキャラクターを描画するゲームや、モバイル環境でも余裕のある動作を実現します。
詳細な使い方は docs/ フォルダ内のドキュメントにあります。データフロー図・主な機能・対応バージョンもそちらです。
- ドキュメントサイト (ホスト版) — 🚧 初回リリース後に公開
- ドキュメント (日本語)
- Documentation (English)
- SpriteStudio Docs(ポータル) — SDK と全公式 Player の入口 — 🚧 初回リリース後に公開
ゲームで使う場合はこのまま下へ。アドオンを入れる → .sspj をエディタに D&D → ノードを置く。
その先(スクリプト制御、シグナル、パーツ単位の上書き)も同じ道の続きで、ドキュメントにあります。
Player 自体や、その下の Rust ランタイムを変更する場合は CONTRIBUTING.md とビルドガイドへ。
初めての方向けに、サンプルプロジェクトを使用した動作確認と、ご自身のプロジェクトへ導入する手順の2つを用意しています。対応するのは SpriteStudio 7.5 以上で作成されたプロジェクトです。
🚧 この世代はまだリリースされていません。 Releases にあるのは 1.x 系のプラグインのみで、本ブランチのサンプルは開けません(
SSABResourceとSpriteStudioPlayer2Dはいずれも 7.x で入ったクラスです)。7.x の初回リリースまでは、ビルドガイド に従ってこのチェックアウトから拡張をビルドし、手順 3 から続けてください。
- Godot Engine の準備: 公式サイト から 4.7 系のエディタをダウンロードします。
- リポジトリの取得:
--recurse-submodules付きでクローンします。サンプルの元プロジェクトはss_player/SpriteStudio-SDKsubmodule にあり、これが無いとサンプルは変換対象を持ちません。 - GDExtension の取得: Releases から最新パッケージをダウンロードし、展開します。
- サンプルの準備: 取得した
addonsフォルダを、本リポジトリの examples/Ringo フォルダ内にコピーします。 - 確認: Godot Engine で examples/Ringo プロジェクトを開きます。アドオンが
.ssplayer_sources.cfgを読んで初回起動時にRingo.sspjを変換するため(.ssabは commit していません)、そのあとRingo.tscnを開けばアニメーションの動作を確認できます。
- 配置: 取得した
addonsフォルダを、ご自身の Godot プロジェクトのルートにコピーします。 - インポート:
.sspjを Godot エディタにドラッグ&ドロップして.ssabへ変換します。 - 再生:
SpriteStudioPlayer2Dノードを追加し、SSAB Resourceプロパティに生成された.ssabを指定します。
詳細は インストールガイド を参照してください。
examples フォルダ に SDK のテストプロジェクトに基づいたサンプルプロジェクトがあります。
- Ringo — Ringo用の基本クイックスタートテスト
- Scripting — GDScriptを用いたアニメーション制御やシグナル受信のサンプル
- Override_Ringo — アトリビュート・マテリアルのオーバーライドサンプル
- overall — 総合的な機能テスト(カスタムモジュール版)
- overall_gdextension — 総合的な機能テスト(GDExtension版)
- SpriteStudio Docs — SDK と公式 Player のドキュメントポータル
- SpriteStudio-SDK —
libssruntime/libssconverterを提供する SDK 本体 - SSConverterGUI — Player なしで
.sspjを変換できるデスクトップ GUI
LICENSE.md(正文)を参照してください。参考訳は LICENSE.ja.md にあります。
サードパーティライブラリ(FlatBuffers, SpriteStudio-SDK の依存クレートなど)のライセンスについては、THIRD_PARTY_NOTICES.md を参照してください。