1. 程式人生 > >Unity3D如何減少安裝包大小

Unity3D如何減少安裝包大小

譯官方文件:http://docs.unity3d.com/Manual/ReducingFilesize.html

PDF文件:http://www.rukawa.cn/Uploads/Attachment/ReducingFilesize/ReducingFilesize.pdf

原文地址:http://www.rukawa.cn/index.php?s=/home/article/detail/id/27.html

需要這麼做的目的和好處就不多說了。

第一步要做的就是:看看哪些檔案是最佔空間的,那麼它們就是首選優化物件了。

你可以在剛剛完成一次build之後在“Editor Log”中找到這些資訊。

如何開啟Editor Log:

在Mac上看起來就是這樣的了:


可以看出這份log提供了一份資源總括:各種型別資源的總大小,以及所佔百分比。同時還降序列出了單個檔案的大小。


順帶一提,資源型別中的“File headers”它們並不是資源本身,而是加在原始資源上,用來儲存“引用”與“配置資訊”的額外資料。通

常可以忽略這些資料的大小,但如果在你的“Resources”資料夾裡有著十分龐大的資原始檔的話,這些資料也可能會很大。。


這份log可以幫助你鑑定哪些檔案是你或許想要刪掉或者進行優化的。


不過在開工之前,還需要先了解幾點:

1、Unity再編碼會把資源導成它自己的內部格式,所以資源原始檔的型別是不相干的。比如你有一個多圖層的PS紋理,那麼在

build之前它就會被拼接、壓縮。所以刻意把這份紋理轉成PNG格式其實對減少包大小並沒有幫助。在開發時還是用最方便的

格式就好了。


2、Unity會在build時去掉那些你的專案中沒有使用到的資源,所以不需要我們手動找出來刪掉了。但是指令碼是不會被刪掉的

(不過它們不佔資源),還有“Resources”資料夾裡的全部資源,也是不會自動幫你刪除的(因為Unity無法判斷這裡面哪些

是需要用到的)。所以我們要確保“Resources”資料夾裡的都是我們真正要用到的。當然,你還可以通過動態載入

AssetBundles的方式來代替“Resources”資料夾裡的資源,以減少包大小。

一些建議:

紋理(Textures)紋理通常會佔據大部分空間。第一步要做的就是選用經壓縮的紋理格式(DXT 或者 PVRTC)。

如果這樣沒有減少它的所佔用空間,那麼試試縮小紋理的尺寸吧。你不需要對資源本身進行修改,只要在 Project 下選中紋理,

然後在 Inspectpr 下設定Max Size就行了。


有一個好辦法就是:在場景中找到使用了該紋理的object,放大畫面,然後一邊降低 Max Size ,一邊看場景中的

object,直到它看起來比較糟糕,就可以知道怎樣是最合適的了。。



由以上幾張圖對比來看,我們就能發現,選擇512甚至256的Max Size,效果都是可以的,而且資源大小也能有顯著的減少。

修改紋理的Max Size並不會影響到資源本身,只是改變了它在遊戲裡的解析度。下表列出了不同圖片格式所佔用空間的大小

(單位bpp:位元組/畫素)


一張圖片的大小計算公式:width * height * bpp,如果你使用的是mipmap貼圖,那麼其大小將是普通圖片的3倍左右。


Unity預設在匯入紋理時就會進行壓縮,為了在開發時節約時間,我們可以在偏好設定裡手動關掉此功能


而在build時,Unity不管你有沒有勾選這一項,都會對紋理進行壓縮。

網格與動畫(Meshes and Animations)網格與匯入的動畫(Animation Clips)都可以被壓縮。在選中一個模型之後,

就可以在Inspector中進行設定了。


不過對它們進行壓縮,是可能造成誤差的。所以最好先弄清楚什麼程度的壓縮是可接受範圍內的。另外,mesh的壓縮僅僅

是減少資料檔案的大小,並不會減少執行時的記憶體消耗。而減少動畫關鍵幀,則會讓兩者都有所減少,一般情況下我們都

應該開啟。

動態連結庫(DLLs)預設情況下,Unity只會在build時包含以下dll:


我們應該避免對 System.dll 或者 System.Xml.dll 有所引用,否則還是會在build時包含進來,而它們也會佔用數M的空間。


如果在遊戲中確實需要解析XML,那麼可以使用“Mono.Xml.zip”來代替系統級的dll。此外,大多數泛型容器都已經包含在標準庫中,

只有少數幾個在System.dll裡,所以可能的話,也應該避免使用到它。

減少手機上使用的 .NET 庫的大小Unity為移動裝置提供了兩套 .NET 的

API:.NET 2.0 和.NET 2.0 Subset

.NET 2.0 提供了幾乎整套的API功能,但是很多時候遊戲都用不上那麼多,導致大量多餘的程式碼佔用了寶貴的空間資源。為了

避免浪費,我們就可以用Unity提供的 .NET 2.0 Subset(相當於.NET 2.0的一個子集)。為節省資源,這裡面很多一般用不到

的例程庫都被移除了,所以這一優化也會是很有用的,只是需要確保我們的程式碼能夠正常工作。

可在“Player Settings”中進行設定

相關推薦

Unity3D遊戲開發之如何減少安裝大小

第一步要做的就是:看看哪些檔案是最佔空間的,那麼它們就是首選優化物件了。 你可以在剛剛完成一次build之後在“Editor Log”中找到這些資訊。 如何開啟Editor Log: 在Mac上看起來就是這樣的了: 可以看出這份log提供了一份資源總括:各種型別資源

Unity3D如何減少安裝大小

譯官方文件:http://docs.unity3d.com/Manual/ReducingFilesize.html PDF文件:http://www.rukawa.cn/Uploads/Attachment/ReducingFilesize/ReducingF

[Unity3D]使用link.xml來控制strippinglevel減少dll庫大小技巧、優化安裝大小

祝福大家2015年新年快樂! 先題外話扯淡一下2014年過去,忙碌的一年,工作上是經歷了風風雨雨,不過相信2015你和我一樣會運氣大好! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~迴歸線~~~~~~~~~~~~~~~~~~~~~~~~~~~ 無論從減

Unity減少安裝大小總結

前段時間整理專案資源時翻譯了很多官方文件,實踐的時候其實都是Texture的壓縮,又繼續搜尋了很多減少安裝包大小的文章,本文來做個總結 一.通用 1.替換jpg,使用psd,減少重複資源(設計說這個應該是使用psd軟體來處理,不是用psd替換jpg) 2.剔除不必要的資源 3.打

怎麼減少iOS應用程式安裝大小技巧?

怎樣才能讓iPone裝置程式安裝包小一點,讓程式的下載和安裝更快速?升級程式時候,安裝包所佔用空間過大怎麼辦?如果你存在著這樣的苦惱,那麼本文所收集的一些減小程式安裝包大小的相關技巧以及減小iOS應用程序升級時所需下載的大小(這與第一次安裝使用的工作原理有所不同)應該能幫

Android 安裝大小優化(Apk瘦身)

目錄 1. 為什麼? APK越大,在下載安裝過程中,耗費的流量會越多,安裝等待的時間也會越長,安裝包的大小對下載的失敗率也有影響。而對於應用本身,就意味著下載轉化率會越低,在競品中,使用者更願意選擇功能多,體驗號,安裝包最小的應用。

Android 減小安裝大小(一)Lint

前言 Android Studio提供了一套靜態程式碼分析工具。它可以檢查出:xml檔案中 unused resources沒有使用到的資源等等。 這篇文章的主題是APK Reduce Size。 所以第一步,用Lint來 Check unused res

Android 減小安裝大小(二) 利用 APK Analyzer 為應用“瘦身”

你可以從頂端選單欄中的 Build 找到 Analyze APK。  專業提示:你也可以拖拽 APK 檔案到編輯欄中開啟。 APK Analyzer 讓你可以開啟並審查存於你電腦中的 APK 檔案的內容,不管它是通過本地 Android Studio 工程構建,還是需要從伺服器上或者其他構件倉庫中構建後得到

Unity之IOS和Android安裝大小優化

簡介 蘋果對於IOS執行檔的大小是有明確的限制的,其中TEXT段的大小不能超過80M,否則提審將會被蘋果拒絕,同時,如果TEXT段過於太大,那麼在蘋果進行加密之後,很容易出現解壓失敗等各種異常,最終導致遊戲無法正常執行。因此,理論上我們應該儘可能保持我們的執行檔TEX

Android效能優化之Android安裝大小優化

  隨著應用業務功能的日益複雜,使用的第三方庫和SDK也會日益增加,這樣導致的直接後果就是安裝包的體積日漸增加,除了使用外掛化的手段,減少安裝包的體積,我們還可以從以下幾個方面著手,進行安裝包大小的優化。   程式碼混淆   ProGuard是一個開源的Java程式碼混淆器

iOS 安裝大小優化

安裝包大小優化主要是三個方面:資源、編譯、可執行檔案 1. 資源:            1.1 刪除無用的圖片資源,工具:LSUnusedResources             1.2 資源壓縮             1.3 不常用資源改為下載 2. 編譯優化:

Unity 優化翻譯官方文件(一) ------ 減少打包安裝大小

將構建應用程式的檔案大小保持在最低限度是很重要的,特別是對於移動裝置或應用程式商店來說,它們的大小限制。縮小規模的第一步是確定哪些資產對它貢獻最大,因為這些資產最有可能是優化的候選物件。這些資訊在您完成構建之後在編輯器日誌中可用,切換到控制檯視窗(選單:視窗 ->

unity優化《三》--將大小減少到極致

一:官方介紹 (http://docs.unity3d.com/Manual/ReducingFilesize.html 官方手冊) 1.替換jpg,使用psd,減少重複資源 2.剔除不必要的資源 3.打包時檢視log紀錄,由此判斷需要減少的檔案型別 4.優

安卓減小APP安裝大小

目錄 一、分析app大小 1.使用Android Studio2.2新功能直接分析APK的大小 Build > Analyz APK Paste_Image.png 2.各個檔案介紹 assets:存放一些配置檔案res:資原始檔,圖片、字串、x

怎樣減少 Android 應用大小

對於移動應用來說,應用安裝包的大小當然是越小越好。特別是對於一些欠發達地區,你不希望使用者因為手機「儲存空間不足」而解除安裝你的應用。 本文就介紹了幾個小技巧來有效減少 apk 的大小: 首先,我們先用 Android Studio 提供的 APK Analyser

APK安裝體積大小優化指南

前言    本文旨在介紹常見的優化APK體積大小的常用方法,截圖介紹多轉至別人部落格,我只稍微整理。APK構成    在討論如何減小apk大小之前,理解apk的結構很有必要。一個APK檔案包括一個ZIP 檔案,該ZIP包含app的所有檔案。包括java 位元組碼檔案,資原始檔

Unity減少構建安裝的體積(210MB減小到7MB)

# 概述 ## 專案簡介 由於是公司內做的專案,不方便開源,就只分享優化過程吧。 ### 專案資訊 **逐日**是一個移動端單機小遊戲,使用Unity開發,目前已將專案使用的Unity升級到`2019.4.14f1c1 (3e5991a5f6ba)`版本。 ### 專案內容 在進行優化前,專案資源

Visual Studio 2017各版本安裝離線下載、安裝全解析

pla 離線文件 win10 unit splay and 文件下載 python擴展 erl 轉自 寂靜·櫻花雨 Visual Studio 2017各版本安裝包離線下載、安裝全解析 感謝IT之家網友 寂靜·櫻花雨 的投稿 關於Visual

為自己編寫的windows應用程序制作安裝

sting 代碼 msd 如何 gid rmi extension 目錄 參考資料 1 寫好了一個windows程序之後如何制作安裝包 這個在vs中就可以直接發布了,可以制作msi的安裝包和exe的安裝包。 2 window應用程序安裝包做了哪些事情 rpm安裝包的話,只是

PHP一鍵集成環境phpStudy最新版安裝分享

下載地址 控制面板 最新版 linux 操作系統 今天春哥技術博客來給大家分享一下最新版的phpstudy安裝包,phpstudy非常好用的一款一鍵集成php環境安裝包,很多人都在用,我們春哥技術團隊也一直在用,非常好用,推薦給大家。我們推薦用phpstudy默認的組合:php5.4.45