Version: 2019.2
バリアントスプライトアトラス
配布用スプライトアトラスの準備

スプライトアトラスワークフロー

以下の手順でスプライトアトラスを作成します。

  1. スプライトアトラス アセットを作成します。
  2. スプライトアトラスの Objects for Packing のリストを選択します。
  3. スプライトアトラスの Include in build を有効にしてプロジェクトに追加します。
  4. (任意) バリアントスプライトアトラス を作成します。
  5. (任意) スプライトアトラスを 配布 用に準備します。
    • 配布用に準備されたスプライトは、スクリプトを使った 遅延バインディング (Late Binding) で読み込む必要があります。
  6. (任意) パフォーマンスを向上させるために、プロジェクトのスプライトアトラスの使用とサイズを 最適化 します。

スプライトアトラスアセットの作成

スプライトアトラス アセットを作成するには、Assets > Create > Sprite Atlas の順に選択します。Assets フォルダーに .spriteatlas というファイル拡張子を持つスプライトアトラスが作成されます。

Objects for Packing リストのアイテムを選択する

Objects for Packing リストには、スプライトアトラス内の現在選択されているアイテムが表示されます。2D テクスチャとスプライトアセットをこのリストに加えることができます。フォルダーを直接リストにドラッグアンドドロップすると、フォルダー内のすべての有効なコンテンツをリストに自動的に追加することができます (リストはフォルダーのみを表示)。

リストの特定のアイテムを選択するには、以下の手順を行います。

  1. スプライトアトラスアセットを選択し、Inspector ウィンドウで Objects For Packing リストを確認します。そこには、Unity がスプライトアトラスをビルドするときにパックするアイテムのリストが表示されます。

  2. アイテムを追加するには、リストの右下にあるプラス (+) アイコンを選択して新しい行を作成します。空の行に有効なアセットをドラッグしてリストに追加するか、行の右にある円形のアイコンを選択して Select Object ウィンドウを開きます。オブジェクト選択ウィンドウでアセットを選択し、リストに追加します。

    リストからアイテムを削除するには、Objects For Packing リストの右下にあるマイナス (-) アイコンをクリックします。アイテムを置き換えるには、他のアイテムを行にドラッグしてリスト上のアイテムを置き換えます。

  3. Pack Preview を選択して、Asset Preview ウィンドウで組み合わせたアトラステクスチャをプレビューします。

Include in Build

すべてのスプライトアトラスは、作成時に Include in Build がデフォルトで有効になっています。つまり、Unity はプロジェクトの ビルド 時にスプライトアトラスを加え、自動的にビルドの実行時にそれらを読み込みます。‘Include in Build’ プロパティーを有効または無効にして、プロジェクトビルドに含まれるスプライトアトラスを制御します。

‘Include in Build’ を無効にすると、この動作は 行なわれなくなり、スプライトアトラスの 配布 の準備の際に行われます。

パフォーマンスを向上させるためのスプライトアトラスの使用法とサイズの最適化

シーンでスプライトがアクティブになると、Unity はスプライトに属するスプライトアトラスとスプライトアトラスに含まれるすべてのテクスチャを読み込みます。非常に大きなテクスチャを含むスプライトアトラスを読み込み、シーンでこれらのほとんどのテクスチャを使用しない場合、パフォーマンスのオーバーヘッドが大きくなる可能性があります。

スプライトアトラスの使用を最適化するために、理想的には、シーンでアクティブなすべてのスプライト、またはほとんどのスプライトを、同じアトラスに含む必要があります。共に使用するものをまとめて、複数の小さなアトラスに分割することが効果的です。

パフォーマンスのオーバーヘッドを削減するもう 1 つの方法は、スプライトアトラスのパックしたテクスチャ間の空のスペースを減らすことです。これにより、スプライトアトラスのサイズが小さくなります。これを行うには、スプライトアトラスを選択し、Inspector ウィンドウの下方にあるパックプレビューウィンドウでパックしたアトラステクスチャを確認します。プレビューがない場合は、Objects for Packing リストの下にある Pack Preview ボタンを押して、パックしたテクスチャを生成します。

余分な空のスペースを持つスプライトアトラス
余分な空のスペースを持つスプライトアトラス

空のスペースが余分に表示されている場合は、パックしたテクスチャのサイズを手動で減らして空のスペースを減らし、アトラスのサイズを最適化することができます。これを行うには、Inspector ウィンドウ下部の プラットフォームごとのオーバーライド パネルに移動します。Max Texture Size のドロップダウンメニューから低い値を選択し、Pack Preview を押して、パックしたテクスチャを生成します。

Max Texture Size を設定
Max Texture Size を設定

スプライトアトラステクスチャの現在のサイズが Max Texture Size の値よりも大きい場合、Unity はパックしたテクスチャのサイズを Max Texture Size にできるだけ近くなるように縮小し、余分な空の部分を自動的にトリムします。スプライトアトラスの Max Texture Size 設定を超えるスプライトテクスチャを選択すると、スプライトアトラスは Max Texture Size 設定を無視し、スプライトテクスチャを元のサイズで含むために必要な最小サイズを維持します。

スプライトアトラス内のテクスチャは元の大きさを維持
スプライトアトラス内のテクスチャは元の大きさを維持
バリアントスプライトアトラス
配布用スプライトアトラスの準備