Unity技術検証

SpriteAtlasが意外と簡単だった話【Unity】

先日公開したゲームのパフォーマンスが悪く、
色々と解決法を探っていたのですが、
その中で、SpriteAtlasなる機能を発見しました。

(以下は少し不正確かもしれませんが、)
UIを描画する際、Textureが異なるもの同士は
バッチング(描画処理をまとめて行う単位)が外れてしまうため、
結果バッチングの回数が増え、パフォーマンスに悪影響が出るらしいです。

そこで、SpriteAtlasという機能を使うと、
1つのTextureの中に複数の画像をまとめることができ、
バッチの数を減らせるようなのです。

ただ、この機能のぱっと見なんですが、
難しそう・・・
というか、めっちゃ面倒くさそう・・・

こんな風に一枚のTextureにまとめたものがSprteAtlas

これを見たとき、
「ここからここの範囲を指定して~」とか、
逐一そんな設定をしなきゃいけないのかなと
萎えてスルーしていました。

が、やってみたらそんな設定は微塵も必要なく秒殺でした。
設定するのはめっちゃ簡単です。

作成したSpriteAtlasに、使いたいSpriteを突っ込むだけで上のTextureができます。
勝手に上下左右反転を駆使し、隙間を縫っていい感じにパズルしてくれます。
参照するときも、もとのSpriteを参照すればOK。

まあ、今回のゲームの負荷については、
この部分はあまり影響なさそうだったのでノータッチなのですが・・・。

私にもできるんだ・・・と教えてくれた神記事はこちらです。

【Unity】SpriteをパックするSpriteAtlasの使い方 - 渋谷ほととぎす通信
SpriteAtlasはUI開発や2Dゲームに必須テクニックです。まだ使ったことがない方はぜひ本記事を読んでみてください。

タイトルとURLをコピーしました