Skip to content

Latest commit

 

History

History
52 lines (35 loc) · 6.45 KB

File metadata and controls

52 lines (35 loc) · 6.45 KB

⚠️ 仕様と制約事項 (Limitations & Scope)

現在の SpriteStudio Player for Godot でアプリを配信する際に把握しておくべき制約と、プラットフォーム固有の注意点をまとめています。サポートしている機能については 主な機能 および各ワークフローガイドを参照してください。

Note

このドキュメントは随時更新されます。確認できた項目から追記しており、プラグインの進化に応じて記述や範囲が変わる場合があります。

未実装の機能

Warning

  • テキストパーツ — 描画されません。ランタイムは描画プラン上の位置を確保しますが、グリフは提供しません(グリフのレイアウトとラスタライズは Player 側の責務です)。本プラグインには Godot でのテキスト描画パスがまだありません。
  • 9 スライスパーツ — 描画されません。ランタイムはグリッド全体を専用の Nines バッファに構築しますが、本プラグインはまだそれを読んでいないため、セルが引き伸ばされた状態ではなく何も表示されません。

どちらのパーツ種別も描画順序上の位置は保持されるため、これらを使ったアニメーションはエラーにならず、該当パーツが欠けた状態で再生されます。出荷するアニメーションでは、作画時に通常パーツへ置き換えてください。

合成(ブレンド)モード

Warning

SpriteStudio のパーツ合成(ミキシング)モード全 12 種のうち、対応しているのは MixMultiplyAddSubtract の 4 種のみです。残り 8 種 — MulalphaScreenExclusionInvertMul2Div2Screen2Overlay2 — は 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 — 下記の専用セクションを参照してください。

Web (WASM)

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 を割り当てている必要があります。