目錄
正常默認打包流程(以Android平臺為例)
查看編輯器打包日志
壓縮圖片
壓縮網格模型
壓縮貼圖
壓縮音頻文件
只打64位包
最終大小
正常默認打包流程(以Android平臺為例)
-
準備工作:
- 確保已安裝最新版Unity Hub和Unity編輯器(建議2021 LTS或更新版本)
- 安裝Android Build Support模塊
- 配置JDK、Android SDK和NDK路徑
-
基礎打包步驟: a) 打開Unity項目 b) 點擊菜單欄 File > Build Settings c) 在Platform列表中選擇Android d) 保持默認設置不變:
- Texture Compression: ASTC
- Build App Bundle (Google Play) 不勾選
- Development Build 不勾選
- Autoconnect Profiler 不勾選
- Script Debugging 不勾選 e) 點擊Build按鈕,選擇保存路徑(如桌面/temp.apk)
-
包體分析:
- 默認打包完成后,APK文件通常會有以下結構:
- base.apk(主程序包)
- lib/armeabi-v7a(32位so庫)
- lib/arm64-v8a(64位so庫)
- assets(資源文件)
- res(UI資源)
- META-INF(簽名信息)
- 默認打包完成后,APK文件通常會有以下結構:
-
典型包體大小參考:
- 空項目(僅含Unity默認場景):15-20MB
- 包含標準資源(如UGUI):25-35MB
- 包含IL2CPP編譯的腳本:額外增加3-5MB
-
查看包大小的正確方法:
- 使用Analyze APK工具(Android Studio自帶)
- 或通過命令:
aapt dump badging your_app.apk | grep "package: name="
注意:首次打包可能會較慢,因為需要生成Gradle項目并下載依賴庫。建議在測試前先清空Library/Temp文件夾。
查看編輯器打包日志
搜索build report構建報告。構建報告我們應該看到構建中使用的所有資產根據其大小排序
壓縮圖片
讓我們從壓縮項目中的圖像資源開始,這些資源通常是最消耗空間的資源。在大多數項目中,圖像文件(如JPG、PNG、GIF等)往往占據了最大的存儲空間。例如,在一個典型的網頁項目中,可能包含多張高分辨率的背景圖、產品展示圖或用戶頭像等,這些文件的大小很容易就達到幾百KB甚至幾MB。
要壓縮這些圖像資源,首先需要識別出項目中體積較大的圖像文件。具體操作步驟如下:
- 在項目資源管理器中,瀏覽圖像文件所在的目錄(通常是"images"、"assets"或"resources"文件夾)
- 查看文件大小,可以按文件大小排序(在Windows資源管理器中右鍵點擊列標題選擇"大小")
- 復制要壓縮的圖像的名稱,比如這個"product-banner.jpg"(容量3.5MB)或"user-profile.png"(容量1.2MB)
常見的需要壓縮的圖像資源包括:
- 網站橫幅和背景圖
- 產品展示圖片
- 社交媒體分享圖片
- 用戶上傳的頭像
- 應用界面截圖
在識別出大容量圖像后,我們可以使用各種圖像壓縮工具來優化這些文件,如TinyPNG、ImageOptim或Photoshop的"存儲為Web所用格式"功能。壓縮后的圖像通常能減少50%-80%的文件大小,而幾乎不會影響視覺質量。
比如這個:
復制名稱,搜索資產
要在此處啟用壓縮選項,我們可以為壓縮做兩件事
我們可以降低圖像的分辨率,如果你覺得圖像的分辨率太大,請選擇較低的分辨率
可以嘗試對圖像應用壓縮算法,不同平臺的處理方式各有差異。建議多測試幾種選項來找到最佳方案。
在Android平臺上,個人更傾向于使用crunch壓縮或astc壓縮方式。
壓縮后的應用配置會大幅減小圖片尺寸。保存后請務必重新運行游戲,檢查圖片是否因過度壓縮而模糊,如有問題可返回重新調整。
包體減少了一些。當然我這里圖片素材比較少,尺寸也不大,可能你的項目比較大的話,可能效果就比較明顯
壓縮網格模型
如果你是3d游戲,還會有很多的網格模型
通用搜索找到網格模型
從下拉菜單中選擇高、中或低壓縮級別。注意壓縮率越高,模型會變得越粗糙。請根據網格需求選擇合適的壓縮級別。
壓縮貼圖
為確保立方體貼圖清晰不模糊,建議采用以下分辨率:
- 移動平臺或主機:256 或 512
- PC 平臺:1024 或 2048 為最佳選擇
壓縮音頻文件
現在降低音頻質量滑塊,然后單擊應用大多數音頻沒有最多50次壓縮的任何明顯變化,但請確保在壓縮后測試這些音頻
只打64位包
還可以只打64位包,能減少很多,32位設備已經非常非常少了,完全不必擔心兼容性。