SpriteStudio Player for Godot のご紹介
皆さん、こんにちは。
OPTPiX SpriteStudio 開発マネージャの遠藤です。
今回は、SpriteStudio のプレイヤーファミリーに新たに加わった
SpriteStudio Player for Godot をご紹介します。
SpriteStudio とは?
紹介に入る前に、SpriteStudio って何!?
という方もいらっしゃるかもしれません。
ひとことで言えば SpriteStudio は、超汎用の2Dアニメーションツールです。
キャラクタアニメーション、エフェクト、UI演出、レイアウト、カットシーン、SpriteStudio 1つでなんでもこなせます。
SpriteStudio は個人ユーザー向けに無料の Starter ライセンスも提供しています。
是非製品ページもご覧ください!
SpriteStudio Player とは、この SpriteStudio で制作した2Dアニメーションを各種ゲームエンジン、プラットフォームで再生するためのプログラムを指しています。
SpriteStudio Player for Godot の概要
今回ご紹介する SpriteStudio Player for Godot (以降、SSPlayer for Godot と略) は、
昨今話題のゲームエンジン Godot Engine 向けのプレイヤープログラムです。
Godot の特徴
Godot はGitHubにオープンソースとして無料公開されています。
Unity や UnrealEngine などと比較して2Dゲームの開発に向いていると言われます。
例えばピクセル単位の座標系のサポート、タイルマップエディタの標準搭載、 3Dとは独立した2Dのレンダリングエンジンの搭載などにより、軽量かつ効率的に2Dゲームの開発が可能とされています。
そんな2Dがお得意の Godot ですが、複雑なキャラクタアニメーションや、2Dエフェクト、UI演出などをオーサリングする専用ツールは搭載していません。(2024/09/13時点)
そこで SpriteStudio の出番となるわけです!
SSPlayer for Godot の特徴
それでは初めに本プレイヤーの特徴をご説明します。
C++カスタムモジュールで実装
再生時の描画パフォーマンスを重視して、GDScriptベースではなく、C++カスタムモジュールとして実装しました。
SpriteStudio SDK の最新版をベースにしているため、Ver.7.0 までの機能に対応しています。
再生が簡単
SpriteStudio で保存したプロジェクトファイル(sspj)を Godot のリソースフォルダに保存し、SpriteStudioプレイヤーノードのインスペクタから指定するだけで再生できます。
事前のデータコンバートや、インポートの手順を挟みません。
(※後述のバイナリデータ対応によって操作手順が変わる可能性があります)
GDScript の API で動的なコントロールも可能
インスペクタから制御できる再生、停止、コマ送り、ループ設定に加えて、GScript の API を利用することでユーザーデータやシグナル(SpriteStudioの機能名)といったイベント制御用のキーフレームに到達したタイミングで、GodotのSignalを受信して値を取得する、といったこともできます。
また、テクスチャを動的に入れ替える関数などもあります。
下記はサンプルスクリプトの一部です。
下記はCRIマスコットのりんごちゃんがGodot のIDE上で動いている様子です。
以上、特徴を簡単に説明させていただきました。
GitHub で公開中
SSPlayer for Godot とは現在 GitHub で無料公開中です!
GitHub – SSPlayer for Godot 公開ページ
現在(2024/09/13時点)のバージョンは v1.1.1 になります。
このバージョンで対応している Godot のバージョンは 3.5 と 4.3 です。
サンプルデータも付属していますので、是非一度お試し下さい。
今後の予定
2024/09/13 時点で以下の対応を予定しています。
ビルド済みバイナリの提供
SSPlayer for Godot は C++カスタムモジュールとしてGodot Engineに組み込まれる形態のため、このプレイヤーの動作を試すためには一度リポジトリをCloneし、Godot Engine ごとビルドする必要があります。
慣れていない方はスムーズにいかないこともあると思います。
そこで少なくともWindows, Mac に関してはビルド済みのバイナリを提供できるようCI環境の構築を進めています。
独自バイナリデータへの対応
ゲームに組み込まれるデータサイズの削減、パース時間の短縮のために独自バイナリデータへの対応を進めています。
データの仕様は SsConverterVer2 が出力する ssfb2 フォーマットを想定しています。
非互換性の解消
Godot が持つレンダリングエンジンとの相性の関係で再現できない SpriteStudio の機能がいくつかあります。(詳しくはこちら)
Godot は日々かなりの勢いでアップデートを重ねているため、現時点で対応困難な機能が後々対応できるようになるかもしれません。
これらについて状況を監視して対応していく予定です。
まとめ
以上、簡単ではありますが、SSPlayer for Godot について紹介させていただきました。
SSPlayer for Godot はリリースして5ヶ月に満たない新しいプレイヤーです。
これからもユーザーの皆さんのご意見を取り入れて、揺るぎなく機能強化、安定性の向上をはかっていきたい考えです。
ご興味のある方は是非 SSPlayer for Godot をウォッチ登録してください。
最後までお読みいただき、有難うございました!