Skip to content

Latest commit

 

History

History
123 lines (91 loc) · 8.33 KB

File metadata and controls

123 lines (91 loc) · 8.33 KB

🕹️ SpriteStudioPlayer for Godot

本developブランチは現在開発中のバージョンです。
安定版は mainブランチ または、Releasesから取得してください。
本developブランチに関してはいかなる保証もサポートも提供しません。リクエストやバグ報告への返信もできません。
インターフェースは予告なく変更される可能性があります。

SpriteStudio で作成したアニメーションを Godot Engine 上で再生するためのプラグインです。 再生処理は SpriteStudio-SDK が提供する libssruntime を介して行います。

!!! tip "SpriteStudio のデータが手元に無くても始められます" 公式のサンプルデータがそのまま使えます。キャラクターなら Ringo、エフェクトを含むものなら パーティクル が手頃です。

目次

主な機能 (Key Features)

本プラグインは、Godot Engine 上で SpriteStudio の表現力をフルに引き出します。

  • 幅広い機能サポート: ボーン階層、メッシュ&デフォーム、パーティクルエフェクトなど、SpriteStudio のほぼ全機能を標準でサポートします(一部の未対応は 仕様と制約事項 を参照)。
  • シームレスな統合と強力なアセットパイプライン: Godot のエディタ内に統合された「SS Import Dock」による簡単なインポートに加え、インスペクタから直接 SpriteStudio を開いて 1 クリックで再コンバートできます。詳しくは アセットのインポートとエディタ連携 をご覧ください。
  • 動的な着せ替え (CellMap Overrides): 実行時にテクスチャ(セルマップ)を差し替えることで、キャラクターのカラーバリエーションや装備変更を簡単に実装できます。
  • シグナルとイベント: タイムライン上に設定した「ユーザーデータ」や「シグナル」を Godot のシグナルとして受け取り、ゲームロジックのトリガーを正確なタイミングで行えます。どのパーツが発火したかも各イベントが持っています。
  • そのまま鳴るサウンド: サウンドパートは設定なしで Godot 上から鳴ります(エディタプレビュー中も同様)。音量を調整する、audio シグナルで自前処理に切り替える、バックエンドリソース で全サウンドをオーディオミドルウェアへ流す、といった対応が可能です。
  • パーツ単位のエフェクト: SpriteStudio のアドオンシェーダ 13 種(セピア / 輪郭線 / HSB / ブラー / モザイク / ウェーブ / ノイズ ほか)をネイティブに再現します。SpriteStudio 側で設定するだけで、Godot 側の作業はありません。
  • 滑らかなスローモーション: サブフレーム補間(Sub-frame interpolation)をサポートし、高リフレッシュレートのモニターやスローモーション演出でもカクつかない滑らかな再生が可能です。
  • 超高速・省メモリ: バックエンドの libssruntime による SIMD 最適化と、パース不要なバイナリ形式(.ssab)により、モバイルなどのリソースが限られた環境でも多数のキャラクターを高速に描画します。

概要 (Overview)

本プラグインを利用してアニメーションを再生する際の流れを以下に示します。

graph LR
    SS[" .sspj / 画像<br>(ソースアセット) "]

    subgraph Convert ["変換プロセス"]
        DOCK[[" SS Import Dock<br>(Godotエディタ内蔵) "]]
        CLI[[" ssconverter-cli<br>(CLIツール) "]]
    end

    subgraph Godot ["Godot ランタイム (res://)"]
        BIN[" .ssab / .ssqb "]
        NODE[[ SpriteStudioPlayer2D ]]
        RT(" libssruntime ")
    end

    SS -- "ドラッグ&ドロップ" --> DOCK
    SS -- "CI/CDや手動" --> CLI
    DOCK -. "自動生成" .-> BIN
    CLI -. "生成" .-> BIN
    
    BIN -- "インスペクタにセット" --> NODE
    NODE -. "高速再生" .-> RT
    NODE -- "描画" --> RENDER{{" 画面 "}}

    classDef generated stroke-dasharray: 5 5;
    class BIN generated;
Loading

対応バージョン

Note

GDExtension は Godot 4.7 以降から正式サポートされます。

Windows / macOS でのビルドおよび実行を確認しています。

サンプル

リポジトリの examples/ フォルダに SDK のテストプロジェクトに基づいたサンプルプロジェクトがあります。

  • Ringo — Ringo用の基本クイックスタートテスト
  • Scripting — GDScriptを用いたアニメーション制御やシグナル受信のサンプル
  • Override_Ringo — アトリビュート・マテリアルのオーバーライドサンプル
  • overall — 総合的な機能テスト(カスタムモジュール版)
  • overall_gdextension — 総合的な機能テスト(GDExtension版)

関連リポジトリ

  • SpriteStudio Docs — SDK と公式 Player のドキュメントポータル。
  • SpriteStudio-SDKlibssruntime / libssconverter を提供する SDK 本体。
  • SSConverterGUI — Player を介さず .sspj を変換するデスクトップ GUI。

マイグレーション

v1.x 以前のバージョンからの移行手順については、マイグレーションガイド を参照してください。

ライセンス

ライセンス を参照してください。

サードパーティライブラリ(FlatBuffers, SpriteStudio-SDK の依存クレートなど)のライセンスについては、サードパーティライセンス を参照してください。