Q&A
Unityでモバイルアプリを制作する際、SpriteAtlasを使用することは多いかと思いますが、SpriteAtlas化すべきであるかの判断についてどのような考えがあるか知りたいです。
※SpriteAtlasについて熟知していわけではないため前提として間違いがあるかもしれません。
●今回質問したいケース
キャラクターアイコンのSpriteAtlas化
前提
・総キャラクターは100体とする(今後も増える)
・インゲーム(バトル)とアウトゲーム(バトル以外)の画面で同じキャラでも使用するアイコンが違う
・インゲーム、アウトゲーム両方で使用するアイコンもある。
例
2対2のバトルゲームを作成する。
バトル画面に必要キャラアイコンは各キャラ2種類
・「自分のステータス部分のUIでのアイコン」「カットインで使用するアイコン」
※「自分のステータス部分のUIでのアイコン」はアウトゲームでも使用する(編成画面など)
====
上記のような例の場合、まず
・BattleCharaIconAtlas:バトルでしか使用しないキャラのアイコンアトラス
・CharaIconAtlas: アウトゲームで使用するキャラアイコンアトラス(バトルでも使用するアイコンもある)
を作成して、バトル画面ロード時にロード。
この場合、バトル画面で使用するアイコンはアトラス2枚(数メガバイト)に対して4枚ほど(キャラが違ければ少し増える)程度なので無駄に大きなメモリを喰っているように思えます。
アトラス化することによりバッチンク機能によりドローコールが減り最適化されると思うのですが、今回の場合それよりも先に数キロバイトのアイコンのために数メガバイトのアトラスをロードすることの方が問題に感じてしまいます。
こちら皆さんはどのように考えるかご意見を伺いたいです。
また、根本的に勘違いをしている箇所がありましたらご指摘お願いします。
あなたの回答
tips
プレビュー