Skip to content

Latest commit

 

History

History
34 lines (23 loc) · 4.97 KB

File metadata and controls

34 lines (23 loc) · 4.97 KB

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

現在の 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 — 下記の専用セクションを参照してください。

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 に由来する挙動のため、ビルド形態に関わらず適用されます。

Warning

  • independent=true パーツ(Instance / Effect)は逆再生・シークで正しく動作しません。 independent=true の子は親のタイムラインから切り離され、独自のリアルタイム時計で進行します。親の逆再生シークでは破綻し、正しく描画されるのは順方向再生(順方向のフレームスキップを含む)のみです。逆再生やシークを行う可能性のあるアニメーションでは independent=true を使わない構成を推奨します。
  • シークで飛ばしたフレームのイベントは発火しません。 再生位置を直接ジャンプ(フレーム指定)した場合、通過したフレーム上の UserData / Signal / Audio イベントは発火せず、移動先フレームのイベントのみが発火します。中間イベントを漏れなく扱いたい場合は、ジャンプせずにアニメーションを逐次進めてください。
  • オーディオの逆再生は非対応。 音はアニメーションが時間軸上を順方向に進むときのみ発火します。実質的な進行方向が逆(逆方向設定・ピンポンの復路・負の速度)のときは音声イベントがスキップされます(音声は逆再生できないため)。
  • アニメーションブレンドは同一 .ssab 内のみ。 .ssab(リソース)をまたぐブレンドは非対応で、ブレンドする全アニメーションは 同一パーツに同一 Cell を割り当てている 必要があります。Cell が異なるとサイズ・pivot のミスマッチで pose が崩れます。