ホーム > カテゴリ > ゲーム開発・Unity・C# >

パソコン版からスマホアプリへの移行 [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ファイルにするとかなり軽減できます。

次に各オブジェクトのインスペクターで「静的」のチェックをオンにする。これを行うとファイル容量は増えますが描画回数が減ります。

それでも、描画回数が多い場合は、家や木、岩などを削除します。

追記:MeshBakerなどでも描画回数を減らせます。

3. CPU負荷を下げる

この改善方法は各自のコードによって異なります。

大量の敵を発生させている場合は、プレイヤーと敵の距離(Vector3.magnitude)を使用して、遠くの敵を表示させないようにするなど、考えられます。

以上となります。





関連記事



公開日:2019年05月06日 最終更新日:2019年06月21日
記事NO:02758