【Unity】SpriteAtlasの使い方

Unity

はじめに

SpriteAtlas(スプライトアトラス)を使うことで複数画像を1枚に合成し、描画回数を抑えてくれます。
本記事では、SpriteAtlas の使い方を紹介します。
Unity2022.3.12f1を使用しています。

SpriteAtlasとは

SpriteAtlasを使うことで、複数の画像を1枚の画像に合成できます。
複数の画像を1枚の画像として読み込むことで Draw Call(ドローコール)の回数を減らし、負荷軽減を目的とした機能になります。

Draw Callとは

オブジェクトや画像などを描画する回数を指します。
この回数が多いほど、負荷がかかっていることになります。

Draw Callの確認方法

ドローコールの確認方法

Unityエディタ上でDraw Callの簡単な確認方法は
Game view を開き Stats を表示します。
表示された画面の Batches の数値がDraw Call数になります。

画像のシーンはカメラのみ配置している状態です。
カメラのソリッドカラーの描画でDraw Callが1回呼ばれているので Batches が1になっています。

2D Spriteのインストール

SpriteAtlas の機能はUnityのデフォルトでは使えないため、
「2D Sprite」をインストールします。

メニューバーから Window > Package Manager を開きます。

Sprite Atlasを使うには2Dspriteが必要

左上の Packages から Unity Registryを選択
2D Sprite を選択しInstall ボタンをクリック

これで導入は完了です。

SpriteAtlasの有効化

SpriteAtlasを使用するために、Unityエディタで以下の設定を行う必要があります。

Sprite Atlasを有効にする設定

Project Settings > Editor を開き
Sprite PackerModeSprite Atlas V2 – Enabled にします。

SpriteAtlas の作成

SpriteAtlas を作成していきます。
適当なフォルダで右クリック Create > 2D > Sprite Atlas から作成できます。

Sprite Atlasの作り方

以下の画像のようなアセットが作成されたかと思います。
これがSpriteAtlasになります。

画像を1枚にまとめる

作成した SpriteAtlas を選択し
1枚に合成したい画像を Objects for Packing に追加していきます。

Objects for Packingの場所
Pack Previewの場所

画像を追加出来たら Pack Preview をクリックします。
プレビューを確認すると1枚の画像になっているかと思います。

また、 Objects for Packing にフォルダを指定することで、そのフォルダ内の画像を一括でアトラス化することが出来ます。

Objects for Packingにフォルダを指定

SpriteAtlas の設定

SpriteAtlasの各種設定項目は、公式ドキュメントが分かりやすいです。

uGUIで使用する場合

AllowRotationTightPacking の項目はuGUIでは反映されないためOFFにします。

使い方

今までと変わらず画像を指定してあげてください。
自動でSpriteAtlas経由で使用されます。

動作確認

SpriteAtlasを作成する前後で Batches を確認すると減っているかと思います。

Before

比較画像・アトラス化前

Batches 9

After

比較画像・アトラス化後

Batches 2

コメント