現在の SpriteStudio Player for Godot でアプリを配信する際に把握しておくべき制約と、プラットフォーム固有の注意点をまとめています。サポートしている機能については 主な機能 および各ワークフローガイドを参照してください。
Note
このドキュメントは随時更新されます。確認できた項目から追記しており、プラグインの進化に応じて記述や範囲が変わる場合があります。
Warning
- テキストパーツ — 描画されません。ランタイムは描画プラン上の位置を確保しますが、グリフは提供しません(グリフのレイアウトとラスタライズは Player 側の責務です)。本プラグインには Godot でのテキスト描画パスがまだありません。
- 9 スライスパーツ — 描画されません。ランタイムはグリッド全体を専用の
Ninesバッファに構築しますが、本プラグインはまだそれを読んでいないため、セルが引き伸ばされた状態ではなく何も表示されません。
どちらのパーツ種別も描画順序上の位置は保持されるため、これらを使ったアニメーションはエラーにならず、該当パーツが欠けた状態で再生されます。出荷するアニメーションでは、作画時に通常パーツへ置き換えてください。
Warning
SpriteStudio のパーツ合成(ミキシング)モード全 12 種のうち、対応しているのは Mix・Multiply・Add・Subtract の 4 種のみです。残り 8 種 — Mulalpha・Screen・Exclusion・Invert・Mul2・Div2・Screen2・Overlay2 — は Mix にフォールバックします。
本プラグインは中間レンダーターゲットを介さず Godot の RenderingServer キャンバスアイテムへ直接描画するため、パーツが使える合成モードは CanvasItemMaterial に対応づくものに限られます。未対応モードのパーツも描画自体はされますが、指定どおりではなく通常のアルファ合成で合成されます。これらのモードに依存した絵作りをしている場合は、出荷前に Godot 上で確認してください。
本プラグインは 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 に由来する挙動のため、ビルド形態に関わらず適用されます。すべての公式
Player に共通する制約であり、詳しい説明とその他の共通制約(embedded モード、.ssab の入力検証など)は
ポータルの 共通の制限事項
にまとまっています。
Warning
independent=trueパーツ(Instance / Effect)は逆再生・シークで正しく動作しません。 正しく動作するのは順方向再生(順方向のフレームスキップを含む)のみです。- シークで飛ばしたフレームのイベントは発火しません。 発火するのは移動先フレームの
UserData/Signal/Audioのみです。 - オーディオの逆再生は非対応。 実質的な進行方向が逆(逆方向設定・ピンポンの復路)のとき、音声イベントはスキップされます。負の
speed_scaleはこれに該当しません。速度は倍率であり、負値は再生ヘッドの向きを変えるのではなく停止させます(0も同様)。 - アニメーションブレンドは同一
.ssab内のみ。 さらに、ブレンドする全アニメーションが同一パーツに同一 Cell を割り当てている必要があります。