GetSprites によるランタイムのスプライトコンテンツの取得
さまざまなスプライトアトラスのシナリオの解決
Unity がスプライトとスプライトアトラス間の相互作用を解決する方法は、さまざまな条件に依存します。以下の例では、最も一般的なシナリオを詳しく説明しています。
シナリオ 1: 基本的なスプライトアトラスの使用法
-
スプライトアトラス A にスプライト 1 が含まれます。
-
スプライトアトラス A で Include in Build が有効です。
- 結果プロジェクトの公開されたビルドにスプライトアトラス A が含まれます。スプライト 1 はスプライトアトラス A のテクスチャによってレンダリングされます。
シナリオ 2: ‘Include in Build’ は無効
-
スプライトアトラス A にスプライト 1 が含まれます。
-
スプライトアトラス A で Include in Build が無効です。
- 結果プロジェクトの公開されたビルドにスプライトアトラス A は含まれず、スプライト 1 のテクスチャも含まれません。スプライト 1 は、参照するテクスチャが使用できずロードされないため、ランタイムにビルド内で非表示になります。
シナリオ 3: 2 つのスプライトアトラス内に 1 つのスプライト
-
スプライトアトラス A とスプライトアトラス B はどちらも Objects for Packing リストにスプライト 1 を含みます。
-
スプライトアトラス A とスプライトアトラス B の両方で、Include in Build が有効です。
- 両方のスプライトアトラスは、この例では異なるテクスチャ出力設定を持っています。
- 結果プロジェクトの公開されたビルドに両方のスプライトアトラスが含まれます。Unity は、制御することが不可能な内部プロセスでスプライト 1 をレンダリングするテクスチャをランダムに選択します。
このシナリオで、意図するスプライトアトラスからのテクスチャでスプライトをレンダリングするには、以下の手順を行います。
- 両方のスプライトアトラスの ‘Include in Build’ を無効にします。
- ランタイムにスプライトを初期化するときに、SpriteAtlas.GetSprite を使って 1 つのアトラスから直接スプライトをリクエストします。これにより、常に正しいスプライトアトラスからスプライトテクスチャを描画できます。
GetSprites によるランタイムのスプライトコンテンツの取得