ライセンスについて

Spineランタイムをアプリケーションに組み込むにはSpineライセンスが必要です。

spine-unityランタイム ドキュメント

オンデマンドローディング 拡張UPMパッケージ

オンデマンドローディングの目的

スケルトンごとに多くのスキンとアトラスページテクスチャが必要になる場合、全てのアトラステクスチャはSkeletonDataAssetによって間接的に参照されるため、スケルトンがロードされるときに全てロードされることに注意する必要があります。これは標準的なUnityのロード挙動に従っています。

メモリ使用量とアプリケーションのダウンロードサイズを最適化するために、以下のオンデマンドローディングUPMパッケージを使用して、テクスチャを実行時に動的にロードすることができます。これにより、Unity Addressablesのようなシステムと統合して、対応するスキンが割り当てられたときにのみ高解像度のアトラステクスチャをダウンロードすることが可能になります。これにより、実行時にわずかなロード遅延は発生しますが、初期ロードサイズを削減できます。

拡張UPMパッケージ

spine-unityのオンデマンドローディングは、個別のUnity Package Manager(UPM)拡張パッケージによってサポートされています。現在、2つのUPMパッケージが利用可能です:

Addressables UPMパッケージ

Spine Addressablesプラグインは、Unity Addressablesシステムとの統合により、spine-unityランタイムにオンデマンドテクスチャロードのサポートを追加します。

このモジュールは、テクスチャを低解像度のプレースホルダーバージョンに自動的に置き換え、高解像度のテクスチャをオンデマンドでロードするために必要なすべてのステップをカバーします。プリビルドステップは、ビルド出力内のテクスチャを低解像度の対応するものに置き換え、ポストビルドステップは、プロジェクト内の元の高解像度テクスチャを復元します。追加のコーディングは必要ありません。

インストール方法

Spine Addressables拡張パッケージ com.esotericsoftware.spine.addressables は、Spineオンデマンドローディング拡張パッケージ com.esotericsoftware.spine.on-demand-loading に依存しています。Addressablesパッケージをインストールする前に、先にオンデマンドローディングパッケージをインストールしてください。

UPMパッケージのダウンロードとインストール方法についてはオプションの拡張UPMパッケージを、更新方法については拡張UPMパッケージのアップデートを参照してください。

使用方法

テクスチャが低解像度のプレースホルダーに置き換えられ、高解像度バージョンがオンデマンドで自動的にロードされるように設定するには、以下の手順が必要です。

  1. 元の高解像度ターゲットマテリアルテクスチャを、Addressableとして宣言します。

  1. SpineAtlasAsset を選択し、SpineAtlasAsset のInspectorの見出しを右クリックして、Add Addressables Loader を選択します。

  1. これにより、AddressableTextureLoader アセットが生成されます。

  1. このアセットは、設定パラメーターの提供と、低解像度のプレースホルダーテクスチャの設定を行います。プレースホルダーテクスチャは、ゲーム実行ファイルをビルドする際のビルド前のステップで自動的に割り当てられます。

  1. あとは通常通り、Addressablesコンテンツをビルドしてください。

すると、ゲーム実行ファイルをビルドする際、最初に低解像度のプレースホルダーテクスチャが自動的に割り当てられ、必要に応じて対応する高解像度テクスチャがロードされるようになります。

エディター用プレビュー

低解像度テクスチャはゲームのビルドプロセス中にのみ有効化される点に注意してください。プレイモードを含め、Unityエディター上では表示されません。

エディター上で低解像度のプレースホルダーを使用して動作をプレビューしたい場合は、テスト用に一時的に割り当てることができます。これを行うには、対象の AddressableTextureLoader アセットを選択し、Testing - Assign Placeholders を押して、一時的に高解像度テクスチャを低解像度プレースホルダーに置き換えてください。

これにより、プレイモード中に高解像度テクスチャがオンデマンドでロードされるのを確認できます。ただしこの変更はプレビューのみを目的としており、ビルドされたゲーム実行ファイルには影響しないことに注意してください。ビルド用のプレースホルダーテクスチャを手動で割り当てる必要はありません。システムがビルド前のステップでこれを自動的に処理し、ビルド後のステップで元のテクスチャを復元します。

オンデマンドローディング UPMパッケージ

アトラステクスチャのオンデマンドローディングの中核となるインフラストラクチャは、別個の Spineオンデマンドローディング拡張パッケージ com.esotericsoftware.spine.on-demand-loading によって提供されます。 Spine Addressablesプラグイン(com.esotericsoftware.spine.addressables)はこの基盤の上に構築され、Unity Addressablesシステムに基づいた具体的な実装を提供します。

このパッケージのダウンロードとインストール方法についてはオプションの拡張UPMパッケージを、更新方法については拡張UPMパッケージのアップデートを参照してください。

GenericOnDemandTextureLoader から派生して任意の抽象メソッドを実装することで、カスタムローディング実装を作成できます。AddressablesTextureLoader クラスを参照として使用できます。GenericOnDemandTextureLoader が合わない場合は、さらに一歩進んで OnDemandTextureLoader から独自のクラスを派生させ、完全にカスタムな実装を提供することができます。これにより、特定のプロジェクト要件に合わせた代替のローディング戦略が可能になります。

次: FAQ 前: Timeline拡張UPMパッケージ