2D プロジェクトはスプライトなどのグラフィックスを使用して、シーンのビジュアルを作成します。つまり、1 つのプロジェクトに多くのテクスチャファイルが含まれてる場合があります。Unity は通常、シーンの各テクスチャに対して ドローコール を送信します。ただし、多くのテクスチャを持つプロジェクトでは、複数のドローコールがリソースの負担が大きく、プロジェクトのパフォーマンスに悪影響を及ぼす可能性があります。
スプライトアトラス は、複数のテクスチャを 1 つのテクスチャに統合するアセットです。Unity は、この単一のテクスチャを呼び出して、複数のドローコールの代わりに 1 回のドローコールを送信し、小さいパフォーマンスオーバーヘッドで、パックされたテクスチャすべてにまとめてにアクセスします。さらに、スプライトアトラス API を使うと、プロジェクトのランタイムにスプライトアトラスをロードする方法を制御できます。
Sprite Atlas を作成するには、Asset> Create> Sprite Atlas の順に選択します。 Unityは、.spriteatlas というファイル拡張子でアセットフォルダーにスプライトアトラスを作成します。
プロパティー | Description (説明) |
---|---|
Type | スプライトアトラスのタイプを ‘Master’ か ‘Variant’ のいずれかに設定します。Master がデフォルトのタイプ設定です。このプロパティーを Variant に設定すると、Unity は追加のプロパティー設定を表示します。2 つの種類の詳細は、Master と Variant のスプライトアトラス を参照してください。 |
Include in Build | これを有効にすると、現在のビルドにスプライトアトラスアセットが加えられます。このオプションはデフォルトで有効になっています。 |
Allow Rotation | このボックスをチェックすると、Unity がスプライトをアトラスにパックするときにスプライトを回転させることができます。これにより、結合されたテクスチャ内のスプライトの密度が最大になります。このオプションは、デフォルトで有効です。スプライトアトラスに Canvas UI 要素のテクスチャが含まれている場合は、このオプションを無効にしてください。なぜなら、Unity がパッキング中にスプライトアトラスのテクスチャを回転させると、シーン内で向きも回転するからです。 |
Tight Packing | このボックスをチェックすると、デフォルトの矩形の輪郭の代わりにスプライトの輪郭に基づいてスプライトをパックします。これにより、結合されたテクスチャ内のスプライトの密度は最大になります。これは、デフォルトで有効です。 |
Padding | スプライトアトラス内の個々のスプライトテクスチャ間のピクセル数を定義します。これは、スプライトアトラス内にあるスプライト間のピクセルの重なりを防ぐためのバッファです。デフォルト値は 4 ピクセルです。 |
Read/Write Enabled | これを有効にすると、スクリプト関数 (Texture2D.SetPixels や、その他の Texture2D 関数など) からテクスチャデータへのアクセスを有効にします。このプロパティーを有効にすると、Unity はテクスチャデータのコピーを作成します。これにより、テクスチャアセットに必要なメモリ量が 2 倍になり、パフォーマンスに悪影響を及ぼす可能性があります。このプロパティーはデフォルトでは無効になっています。Unity は非圧縮テクスチャや DXT 圧縮テクスチャ以外の圧縮テクスチャを読み取ることができないため、このプロパティーは、非圧縮テクスチャや DXT 圧縮テクスチャにのみ有効です。 |
Generate Mip Maps | これを有効にすると、ミップマップの生成が可能になります。詳細は、テクスチャタイプ のドキュメントを参照してください。 |
sRGB | これを有効にすると、ガンマ空間にテクスチャを保存します。詳細は、テクスチャのインポート のドキュメントを参照してください。 |
Filter Mode | 変形の間に伸縮する場合に、パックしたテクスチャのフィルター方法を選択します。この設定は、アトラスのパックしたスプライトの Filter Mode 設定をオーバーライドします。詳細は、テクスチャタイプ のドキュメントを参照してください。 |
Default (テクスチャインポーター設定パネル) | スプライトアトラスのテクスチャインポーターを設定します。スプライトアトラスに含まれる個々のテクスチャのインポーター設定をオーバーライドします。詳細は、テクスチャインポーターのオーバーライド のドキュメントを参照してください。 |
Objects For Packing | Unity は、このリスト内のすべての項目を現在選択されているスプライトアトラスにパックします。詳細は、オブジェクトのパッキングリストの選択 を参照してください。 |