今回はUnityの最適化に近い話題で「ゲームのファイルサイズ削減方法」についての話です。
Unityでゲームを作っていると、ゲームをビルドしたときにゲームのファイルサイズが巨大になってしまうことがあります。こうなるとストレージや通信量といったリソースが限られがちなスマホゲームの場合は致命的ですし、たとえPCゲームであっても使用する容量が少ないに越したことはありません。
そこでここでは
- ゲームのファイルサイズが大きくなってしまう理由
- ゲームのファイルサイズをなるべく小さくするための簡単な方法
について書いていきますね。
ゲームのファイルサイズが巨大になってしまう理由
では、はじめに「なぜゲームのファイルサイズが大きくなってしまうのか?」という理由についてです。細かい原因は色々あると思うのですが、ほとんどの場合は
ことが最大の原因として挙げられます。
3Dゲーム用のアセットをお持ちの方はご存じだと思いますが、実は3Dゲームにおいては3Dモデルそのものよりもテクスチャの方が何倍も容量を食うのが一般的です(※とくにリアル系の場合)。例えば人型のキャラクターは3Dモデル本体だけならせいぜい1~2MBくらいですが、ここに1024px四方のテクスチャやノーマルマップ(=細かい凸凹を表現するための画像)等をつけると軽く10MB以上になります。
それでテクスチャ画像はゲームにたくさん使いますし、容量も大きくなりがちなのでそれが積もりに積もるとゲームのファイルサイズが巨大になってしまうというわけです。…もちろんゲームのファイルサイズが肥大化する原因はそれだけではないのですが、そうは言っても圧倒的にテクスチャが容量の大部分を占める場合が多いため、ファイルサイズが気になったらまずはテクスチャのサイズをチェックしてみると良いでしょう。
ゲームのファイルサイズを削減するための簡単な方法
さて主な原因がテクスチャだと分かったところで、次はテクスチャを圧縮してゲームのサイズを小さくする方法をご紹介します。Unityなら元画像を編集しなくても簡単にサイズを削減できるので、ぜひ次の作業を試してみてください。
テクスチャの最大サイズを変更してサイズを減らす
テクスチャ画像をUnityのインスペクターで見ると、次の画像のように表示されると思います。
ここで、赤枠で示した「最大サイズ」を小さくしてみてください。例えば元画像が4096px四方の巨大な画像であれば1/4の「2048」にする…といった感じです。こうすると元画像の大きさを編集しなくても、ゲームには圧縮されて小さくなった画像が使用されるのでお手軽です。
なお具体的にどのくらいのサイズにすればよいのかは一概には言えないので、
- 3Dモデルを拡大したときに、どれくらいテクスチャが雑に見えてもよいか
- 許容できるゲームのファイルサイズはどれくらいか
といったことに合わせて調整してください。まあザックリいうとリアル系では質感が重要なので大きめに、逆にカジュアル系やローポリ系はかなり小さめにすると良いでしょう。
あと、最大サイズで元画像よりも大きなサイズを指定しても、元画像の大きさは変わらないのでご安心ください(例えば元画像の大きさが1024px四方の場合、最大サイズを2048にしても元画像のサイズは1024px四方のままです)。
おわりに
以上、簡単ではありますが「Unity製ゲームのファイルサイズを削減する方法」について書いてきました。
今は大容量のゲームを普通にダウンロードして遊ぶ時代になったとは思いますが、それでもなるべく容量を削減できたほうが良いので上記の内容は知っていただいて損はないと思います。作業自体も簡単なのでぜひとも試していただければと思います。
この記事がゲーム制作のお役に立てば幸いです。