Unityでビルド時にファイルサイズを削減する

現在Play Storeではアプリのファイルサイズの上限が150MB、App Storeでは4GBの上限があります。
とくにPlay Storeのシビアな制限をパスする為には、プロジェクトのどのアセットがバイナリのファイルサイズの内の大きな割合を占めているかを把握している必要があります。
UnityはEditor.logというログファイルを出力しており、このファイルを参照する事でビルド時にどれくらいのサイズをどのアセットが占めているのかという事を把握する事が可能です。
Unity コンソールウィンドウの 右上からOpen Editor Log を押せば開くそうですが、私の環境では無反応だったので以下を開きます。

OSパス
Mac OS X~/Library/Logs/Unity/Editor.log
Windows XPC:\Documents and Settings\ユーザ名\Local Settings\Application Data_\Unity\Editor\Editor.log
Windows Vista/7C:\Users\ユーザ名\AppData\Local\Unity\Editor\Editor.log

このファイルを開くと以下のような記述がありました。

Build Report
Uncompressed usage by category (Percentages based on user generated assets only):
Textures               216.8 mb  69.2%
Meshes                 641.3 kb  0.2%
Animations             199.7 kb  0.1%
Sounds                 63.0 mb   20.1%
Shaders                6.5 mb    2.1%
Other Assets           9.3 mb    3.0%
Levels                 1.1 mb    0.3%
Scripts                2.3 mb    0.7%
Included DLLs          13.2 mb   4.2%
File headers           565.9 kb  0.2%
Total User Assets      313.5 mb  100.0%
Complete build size    735.8 mb
Used Assets and files from the Resources folder, sorted by uncompressed size:
 8.9 mb  1.2% Assets/OP/Resources/OP/Texture/BG/city.jpg
 7.3 mb  1.0% Assets/OP/Resources/OP/Sound/BGM/127324.mp3
 6.6 mb  0.9% Assets/OP/Resources/OP/Texture/BG/casino.jpg
 6.4 mb  0.9% Assets/OP/Resources/OP/Sound/BGM/111985.mp3
 6.0 mb  0.8% Built-in Texture2D: SpriteAtlasTexture-OP_UI (Group 1)-1024x2048-fmt3

どうやらテクスチャの圧縮やBGMのビットレート削減が全然足りてないようです。
こんな感じでアセットの中からサイズ削減の優先対象を見つける事が可能です。
私の場合、そこそこ画質を落としたjpg画像(数百Kb程度)をアセットに入れていたのですが、結局はビルド時に無圧縮のRGB画像に変換されてしまうので意味が無かったようです。

1 Star2 Stars3 Stars4 Stars5 Stars (まだ投票されていません)
Loading...

    コメント