スプライトスワップの概要
このページでは、スプライトスワップの概要、各種用法、制限事項を紹介します。スプライトスワップ とは、ランタイムにゲームオブジェクトのレンダリングされるスプライトを変更することを指します。2D アクターなどのゲームオブジェクトを構成するスプライトをアニメーション化するのに便利な方法です。
例えば、アニメーション化されたアクターを構成する 個々のスプライトをスワップ して、同じスケルトンを共有 する複数のアクターを作成したり (PSD Importer パッケージ が必要)、ランタイムにスプライトをスワップして アニメーションクリップを作成 したりすることが可能です。
2D Animation パッケージウィンドウでオプションを選択して、2D Animation パッケージの サンプルプロジェクト をインポートできます。それらのサンプルに関する詳細は、個別の スプライトスワップのサンプル のページを参照してください。
必要なアセットとコンポーネント
スプライトスワップには以下のアセットとコンポーネントが必要です。これらは 2D Animation パッケージに含まれています。
Sprite Library アセット: Sprite Library アセットには、さまざまな カテゴリ と ラベル に割り当てられた一連の選択したスプライトが含まれています。
Sprite Library コンポーネント: Sprite Library コンポーネントは、ゲームオブジェクトが参照する Sprite Library アセットを決定します。
Sprite Resolver コンポーネント: Sprite Resolver コンポーネントは、目的のスプライトの Category と Label の値を参照することで、Sprite Library アセットに登録されているスプライトをリクエストします。
技術的な制限事項
スプライトスワップを使用する際は、以下の技術的な制限事項に留意してください。
スケルタルアニメーションの制限事項
アクターをアニメーション化 し、スケルタルアニメーションでスプライトスワップを使用する場合は、スワップする両方のスプライトに同一のスケルトンがなければなりません。スワップが正しく行われるように、Skinning エディターの Copy ツールと Paste ツール を使用して、一方のスプライトからもう一方のスプライトにボーンとスケルトンのデータを複製してください。
アニメーターの制限事項
1 つの アニメーターコントローラー では、1 つの アニメーションクリップ で Sprite Renderer に割り当てられているスプライトをアニメーション化し、もう 1 つの アニメーションクリップ で Sprite Resolver のスプライトハッシュをアニメーション化するということはできません。これら 2 つのクリップを同じ アニメーターコントローラー に設定すると、クリップが競合して、望ましくない再生結果となります。
この問題を解決するには、以下の方法をお勧めします。
1 つ目の方法は、アニメーションクリップ を個別の アニメーターコントローラー に分け、一方には Sprite Renderer のスプライトをアニメーション化するクリップだけを含め、もう一方には Sprite Resolver のスプライトハッシュをアニメーション化するスプライトだけを含めるようにします。このように、同じ アニメーターコントローラー に両方の種類を含めないようにします。
2 つ目の方法は、すべての アニメーションクリップ を更新して同じ種類にすることです。このようにすると、すべてを 1 つの アニメーターコントローラー に含めることができます。これを行うには、Sprite Renderer のスプライトをアニメーション化するすべてのクリップを Sprite Resolver のスプライトハッシュをアニメーション化するクリップに変換するか、その逆の変換を行います。