UE4 移動端最小包

引言

之前學習 UE4 的時候,常常使用提供的模板來創建項目,結果發現打包成 apk 後包體體積達到幾百 M 甚至上 G。而在 Unity 最新的 2019 版本,一個空的 Unity 工程打出的 android 包,包體的大小約爲 18 M。那麼, UE4 打出的 android 最小包大約爲多大呢?

 

創建一個乾淨的工程

1.設置內容包

在創建項目時可以選擇是否包含初學者內容包,正式項目爲了時項目儘量乾淨,應選擇 不帶初學者內容包

2.設置目標硬件和圖像級別

目標硬件和圖像級別可以在創建項目時設置,也可在項目創建後進行設置

  • 默認的目標硬件爲 桌面/主機 , 移動設備應用開發應選擇 移動設備/平板電腦

  • 圖像級別默認爲最高品質,移動端改爲 可縮放3D或2D

3.設置啓動地圖

直接打包創建的空項目,在手機上運行會出現場景內容爲黑色,只顯示左右兩個模擬手柄。這是因爲沒有設置項目的 遊戲默認地圖,參考 變更默認關卡 ,設置步驟如下:

  • 設置(Settings) — 項目設置(Porject Settings) — 地圖和模式 (Maps & Modes)

  • Default Maps ,此處有兩個設置項,編輯器開始地圖(Editor Startup Map)和遊戲默認地圖(Game Default Map),這裏需要設置的是 遊戲默認地圖

可以選擇自定義的地圖,假如只是測試,可以直接將當前 UE4 編輯器默認打開的地圖保存下來(直接在編輯器默認場景下 Ctrl+S 進行保存),命名爲 TestMap

假如想要測試最小包,那最好新建一個空 Map,保存到 Content 中然後將其設置爲 Game Defualt Map。

 

打包設置

打包項目設置

  • 平臺 —> Android SDK 完成各項環境配置

  • 打開 平臺 —> Android 設置頁面,點擊 接受SDK證書 ,填寫包名,取消 Enable Gradle instead of Ant 勾選,勾選 Package game data inside .apk?

    打包時可以把數據從 apk 中分離出來,也可直接打進 apk 中,通過 Package game data inside .apk? 選項來控制。

 

Android 打包結果

從兼容性考慮,這裏以 Android ETC1 的方式來測試打包結果,具體測試數據如下:

  • 使用編輯器默認打開地圖 Template_Default 作爲 Game Default Map 打包,包體大小約爲 89.1 MB

    img

  • 使用新建的空 Map 作爲 Game Default Map 打包,包體大小約爲 87 MB

 

包體瘦身

上面所述,都是將遊戲數據包(obb 包)打進 apk 中得到的測試結果。參考官方給的包體瘦身建議 Reducing Packaged Game Size ,對應空白工程包體體積影響較大的包體瘦身優化,有如下兩種方式:

  • 創建壓縮烘焙包

    在項目設置中的打包設置項:設置 — 項目 — 正在打包(Packing) — Packaging 中勾選 創建壓縮烘焙包 (create compressed cooked packages)

    img

    包體大約 68.5 MB(假如使用空 Map 打包,大小爲 68 MB),可以查看包內文件,發現 main.obb.png 文件體積從 44 MB 減小爲 22 MB。

  • apk 中抽離 obb 文件

    解壓打出的 apk 包,可以看到 assets 目錄下有一個 main.obb.png 文件,這是項目所有數據和資源文件的合包。打包的時候,其實可以通過設置該數據包是否打進 apk 中,即: 設置 — Android — APK Packaging 中取消 Package game data inside .apk? ,即可將 obb 文件從 apk 中剝離。在打包目錄下會生成一個 apk 和一個 main.1.包名.obb 兩個文件。

    這樣子原本的 apk 可以達到 46 MB 左右的大小,但在實際項目中通常不這麼做,因爲這樣的方式安裝了遊戲 apk 後,需要把 obb 文件複製到應用目錄下才能正常啓動遊戲。

 

小結

綜上所述,使用 UE4 打包 android 平臺可運行的最小包體大小約爲 68 MB,考慮剝離 obb 文件可以達到 46 MB 左右。這樣的包體大小,對於小型遊戲,顯然不太合適。

當然,這裏我並未嘗試通過禁用未用到的插件來測試包體大小

 

參考

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章