Version: 2019.2
遅延バインディング
スプライトパッカーモード

さまざまなスプライトアトラスのシナリオの解決

Unity がスプライトとスプライトアトラス間の相互作用を解決する方法は、さまざまな条件に依存します。以下の例では、最も一般的なシナリオを詳しく説明しています。

シナリオ 1: 基本的なスプライトアトラスの使用法

  1. スプライトアトラス Aスプライト 1 が含まれます。
  2. スプライトアトラス AInclude in Build を有効にします。
  3. 結果: プロジェクトのパブリッシュしたビルドに スプライトアトラス A が含まれます。 スプライト 1スプライトアトラスA のテクスチャによってレンダリングされます。

シナリオ 2: ‘Include in Build’ は無効

  1. スプライトアトラス Aスプライト 1 が含まれます。
  2. スプライトアトラス AInclude in Build を無効にします。
  3. 結果: プロジェクトのパブリッシュしたビルドに スプライトアトラス A は含まれず、スプライト 1 のテクスチャも含まれません。 スプライト1 は、参照するテクスチャが使用できずロードされないため、ランタイムにビルド内で非表示になります。

シナリオ 3: 2 つのスプライトアトラス内に 1 つのスプライト

  1. スプライトアトラス Aスプライトアトラス B はどちらも Objects for Packing リストに スプライト 1 を含みます。
  2. スプライトアトラス Aスプライトアトラス B の両方で、Include in Build が有効です。
  3. 両方の スプライトアトラス は、この例では異なるテクスチャ出力設定を持っています。
  4. 結果: プロジェクトのパブリッシュしたビルドには、両方のスプライトアトラスが含まれます。Unity は、制御することが不可能な内部プロセスで スプライト 1 をレンダリングするテクスチャをランダムに選択します。

このシナリオで、意図するスプライトアトラスからのテクスチャでスプライトをレンダリングするには、以下の手順を行います。

  1. 両方のスプライトアトラスの ‘Include in Build’ を無効にします。
  2. ランタイムにスプライトを初期化するときに、SpriteAtlas.GetSprite を使って 1 つのアトラスから直接スプライトをリクエストします。これにより、常に正しいスプライトアトラスからスプライトテクスチャを描画できます。
遅延バインディング
スプライトパッカーモード