【unity】スマホゲーム制作でUIデザイナーが知っておく事

スポンサーリンク




最近のゲーム事情は、スマートフォンの普及に伴って、圧倒的にスマートフォン向けの
ネイティブアプリが主流となっています。

その際の開発するゲームエンジンですが、unityを使う会社が多いです。僕もここ数年は
unityでの開発経験をしてきましたので、unityでUIデザイナーが素材作成をするに当たって
必要な知識、気を付けることなどをまとめて行きたいと思います。

■アトラスを理解する

unityでは、使用する複数の画像をアトラス化してスプレッドシートにまとます。

アトラス化と言うものはunity内で複数の画像を詰め込んで1枚の画像にすることを言います。

このシートは基本的に2のべき乗の物になっています。
具体例を挙げると512、1024、2048などの正方形のシートになります。この定められた領域内に使用する画像を並べていくことになります。

※アトラス化されたスプライトシートのイメージ

■9パッチを使う

9パッチという手法を使うことで画像を縦横に伸ばして使う事ができます。
例えば画面内のダイアログなど、色々な所で伸ばして使う機会がありますが、これをそのまま画像として用意すると、アトラスの面積を無駄に使うことになります。
また、ボタンなどでも画面のレイアウトによって様々な大きさのボタンが必要になりますが
サイズ毎にボタンを作成していくとボタンの数だけで沢山の画像が必要になります。

なので、拡大縮小してもいい部分とそのまま維持したい角の部分などを分割して9個の領域に
分けて考えます。

このサンプルですと、こういった具合に分割が出来ますね。画像で言うと、2、4、6、8の部分は伸ばして使うことができます。これを使ってサイズを展開するとこのような具合です。

書き出しの際は、オリジナルの素材の無駄な場所を極限まで排除して書き出しを行い、32ビットのpngとして書き出して素材作成は完了です。気を付ける点としては、伸ばす領域にグラデーションなどを入れないことです。

グラデとテクスチャは不可
ピクセルを伸ばしてサイズに対応させるため、グラデーションとテクスチャなどは不向きです。

■反転できる箇所は反転して使う。

アトラスの面積を削減するための方法として、左右対称のものはunity内で反転させて使いましょう。

そうすることで単純計算ですが、容量を半分に減らすことが出来ます。
一昔前ではFlashとかでも良く使われてましたね。

■素材は使いまわす

同じアトラスに入っている素材は極力使いまわしましょう。
似たような素材を作りまくるとそれだけで容量アップに繋がってしまいます。

■ドローコールを気にする

画像は先ほどもあったように、アトラス化された2のべき乗のシートを呼び出して画面に必要な部分の素材を描画しています。

このシートの枚数は少ないほうがパフォーマンス的に良い結果になります。
1つの画面を作るのに、この素材はAのシート、こっちはBのシート、といった具合に色々な
シートにばらけていると多くのシートを呼び出すことになるのであまり良くありません。

例えば、汎用的なものを1枚、その機能でどうしても必要なシートを1枚などでドローコールを少なくしてあげると良いと思います。

■アセットバンドル

unityにはアセットバンドルという仕組みがあります。
アプリ本体の更新をすることなく、画像を足したりすることが出来るのでイベント用の専用画像や、バナーなどの画像に使う事が多いです。

※仕組みなどの詳細に関してはunity公式をご覧ください。

 

これを足す際の画像に関しても知っておくべきことがあります。
これもアトラス同様に2のべき乗のシートのようなもので考えることができます。

例えば横幅600pxのバナー画像があったとしましょう。
これをアセットバンドルに対応させて画像をゲームに乗せようとした場合、横幅1024pxのシートに納めることになります。

実際にスペース見てみると無駄なスペースが多いですよね。
この場合どうすれば良いかということですが、横幅の600pxを書き出しする際に512pxに書き出しを行うのがベターかなと思います。

そうすることでワンサイズ小さいシートに納めることが出来ます。クオリティ面ではそこまで大きく劣化することもなく、容量の削減が出来ました!

といった具合で、色々と書いてきましたが結構容量に関して注意しないといけないことがいっぱいですね。
高速なネット回線と大容量端末が普及してきたとは言え、それに甘んじずに軽くて美しく楽しいゲームを目指していきたいものです。

スポンサーリンク







コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です