現在の SpriteStudio Player for Godot でアプリを配信する際に把握しておくべき制約と、プラットフォーム固有の注意点をまとめています。サポートしている機能については 主な機能 および各ワークフローガイドを参照してください。
Note
このドキュメントは随時更新されます。確認できた項目から追記しており、プラグインの進化に応じて記述や範囲が変わる場合があります。
本プラグインは GDExtension と カスタムモジュール の2つのビルド形態で提供され、いずれも Godot の全ターゲットへエクスポートできます。ビルドと実行は Windows / macOS で継続的に確認しています。その他のターゲットも対応していますが、検証頻度は低めです。各プラットフォームのエクスポート手順は ビルドガイド を参照してください。
プラットフォーム固有の注意点:
- macOS (GDExtension) —
universalビルド(arch=universal)としてリリースされます。 - iOS — macOS + Xcode が必要で、生成されるのは
template_debug/template_releaseのみです(editor ターゲットはありません)。 - Android — ランタイムは対応する ABI ディレクトリ(
arm64-v8a/armeabi-v7a/x86_64)に配置されるネイティブライブラリとして同梱されます。実行する端末/エミュレータの ABI のみビルドすれば十分です。 - Web — 下記の専用セクションを参照してください。
Warning
- シングルスレッド(
nothread)のみ対応。 Web ではスレッドなしで動作します。利点として、クロスオリジン分離(COOP/COEP)ヘッダーが不要なため、単純な HTTP サーバーでエクスポート成果物を動かせます。拡張はthreads=noでビルドしてください。 - WebAssembly SIMD が必須。 ランタイムは WebAssembly SIMD 命令を用いてビルドされており、SIMD 非対応のブラウザでは動作しません。配信先のブラウザ要件として SIMD 対応を前提としてください。
- Web で GDExtension を使うには dlink 対応のエンジンテンプレートが必要。 公式の Godot Web エクスポートテンプレートは GDExtension ライブラリに対応していません。
dlink_enabled=yesでビルドしたエンジンテンプレートを用意し、エクスポートプリセットで 「Extensions Support」 を有効にする必要があります。これを行わないと、書き出したページが 「GDExtension libraries are not supported by this engine version.」 で失敗します。手順は プロジェクトのエクスポート → Web を参照してください。(カスタムモジュール形態はコードをエンジン本体へ組み込むため、この対応は不要です。)
以下は共通の libssruntime に由来する挙動のため、ビルド形態に関わらず適用されます。
Warning
independent=trueパーツ(Instance / Effect)は逆再生・シークで正しく動作しません。independent=trueの子は親のタイムラインから切り離され、独自のリアルタイム時計で進行します。親の逆再生とシークでは破綻し、正しく描画されるのは順方向再生(順方向のフレームスキップを含む)のみです。逆再生やシークを行う可能性のあるアニメーションではindependent=trueを使わない構成を推奨します。- シークで飛ばしたフレームのイベントは発火しません。 再生位置を直接ジャンプ(フレーム指定)した場合、通過したフレーム上の
UserData/Signal/Audioイベントは発火せず、移動先フレームのイベントのみが発火します。中間イベントを漏れなく扱いたい場合は、ジャンプせずにアニメーションを逐次進めてください。 - オーディオの逆再生は非対応。 音はアニメーションが時間軸上を順方向に進むときのみ発火します。実質的な進行方向が逆(逆方向設定・ピンポンの復路・負の速度)のときは音声イベントがスキップされます(音声は逆再生できないため)。
- アニメーションブレンドは同一
.ssab内のみ。.ssab(リソース)をまたぐブレンドは非対応で、ブレンドする全アニメーションは 同一パーツに同一 Cell を割り当てている 必要があります。Cell が異なるとサイズ・pivot のミスマッチで pose が崩れます。