パソコン版からスマホアプリへの移行 [1GBから100MB未満へ]
ベクターで公開できるパソコン版ゲームの最大ファイルサイズは1GB未満です。Google Playで公開できるAndroidアプリは100MB未満となります。
パソコン版で動作しているゲームをスマホアプリに変換するには、ファイルサイズだけではなく、動作をカクカクさせないように、描画回数である「Batchesを極端に減らす」のと「CPU負荷を下げる」必要があります。
1. ファイルサイズ
「カテゴリー別の非圧縮使用量」を確認する。
Unityエディタの下部にある[コンソール]タブの一番右側にある「三」の「エディターログを開く」で表示されるテキスト内の「Build Report」で確認できます。
次の例だと画像などの「Textures」が3GBもあります(笑)
Textures 3180.5 mb 94.8% Meshes 90.3 mb 2.7% Animations 450.8 kb 0.0% Sounds 6.7 mb 0.2% Shaders 3.3 mb 0.1% Other Assets 15.2 mb 0.5% Levels 11.4 mb 0.3% Scripts 1.1 mb 0.0% Included DLLs 13.2 mb 0.4% File headers 34.2 mb 1.0% Total User Assets 3356.2 mb 100.0%
※合計 3.35GB
1.1 画像のMaxSize(最大サイズ)を下げる
サイズを削減するには画像のMaxSizeを下げるのが一番、早いです。
その他にFBXを使用している場合は、インスペクターで圧縮できます。
次はMaxSizeを2048から64にした例。
Textures 17.5 mb 11.9% Meshes 31.0 mb 21.2% Animations 452.1 kb 0.3% Sounds 6.7 mb 4.6% Shaders 3.2 mb 2.2% Other Assets 727.7 kb 0.5% Levels 71.3 mb 48.6% Scripts 1.2 mb 0.8% Included DLLs 13.2 mb 9.0% File headers 1.4 mb 1.0% Total User Assets 146.7 mb 100.0%
※合計 146.7MBですが、APKで圧縮されるので100MB未満になります。
2. 描画回数(Batches/SetPass calls)
Batches及びSetPass callsはUnityの[ゲーム]タブの統計情報で確認可能。
描画回数を下げるにはTerrainをOBJファイルにするとかなり軽減できます。
次に各オブジェクトのインスペクターで「静的」のチェックをオンにする。これを行うとファイル容量は増えますが描画回数が減ります。
それでも、描画回数が多い場合は、家や木、岩などを削除します。
3. CPU負荷を下げる
この改善方法は各自のコードによって異なります。
大量の敵を発生させている場合は、プレイヤーと敵の距離(Vector3.magnitude)を使用して、遠くの敵を表示させないようにするなど、考えられます。
以上となります。