U3D外掛程式 Build Report Tool 讀我檔案,u3dreport
Build Report Tool README產生報告工具讀我檔案
您的遊戲版本想試圖減少小於 50 MB 嗎?需要去看,你的資產正在吃佔用的磁碟空間?
此工具提供了一個很好前端為Unity的產生資訊。它顯示包含在build 時的資產和多少儲存空間。
註: 如果您要在您的項目升級Build Report Tool,首先刪除之前置入的 BuildReport 文
件夾,,然後在匯入新的,這將消除任何潛在與舊Build Report Tool的中繼資料檔案衝突,。
若要顯示Build Report Window,轉到Window > Show Build Report。
當你這樣做,如果產生報告工具不露面,您可能必須重設您的 Unity 編輯器布局。選擇
Window > Layouts > Default.
然後再次嘗試開啟Build Report Window。
= = = 重要說明 = = =
以防你可能會引起Build Report Tool的任何建置錯誤,請嘗試禁用Build Report Window自
動顯示。
您可以通過開啟Build Report window中,做到這一點去options,然後取消選中"Collect
and save build info automatically after building"。如果這不奏效,你可以只需刪除
Build Report Tool中的檔案作為最後的手段。
= = = 錯誤值 = = =
Build Report Tool從 Unity 編輯器記錄檔中擷取它的大部分資訊。極大項目具有較大的
檔案大小可能會得到錯誤的值。如果你有這種經曆,請檢查您的編輯器記錄檔: 轉到您
的Console控制台視圖 (Window > Console,或按 ctrl + shift + C)。在控制台視圖的
右上方,單擊"Open Editor Log"按鈕。
如果 Unity 編輯器記錄檔本身顯示錯誤的值,為您的檔案大小,您可能想要提交一份
unity的 bug 報告 (轉到Help > Report a Bug)。
= = = 如何使用 = = =
若要顯示產生報告視窗,轉到Window > Show Build Report.
請確保您有首先build產生項目操作。如果不是,產生報告工具有沒有資料,也不會工作。
????????
However, it won't care if the project you built last time isn't the same one you
currently have open. So it's always best to build your project before you look
at the Build Report Window.
然而,它不會介意你產生最後一次的項目並不是同一個您當前已開啟。因此,它總是最好生
成您的項目之前你查看Build Report Window。
你也可以將產生報告儲存到 XML 檔案,或開啟之前儲存的。每當您build產生項目,產生報
告工具將自動產生一個build報告,並將其儲存。如果你不想產生的報告工具自動做到這一
點,你可以在選項中禁用它。
= = = 配件 = = =
產生報告分為五個主要類別:
1. Overview: 該報告的摘要.
2. Project Settings: 顯示project settings 內容
3. Size Stats: 顯示產生的檔案大小和 一個列表 什麼資源其中資產佔用了什麼上產生的
空間的百分比。
4. Used Assets: 顯示的列表 *all* assets 包含在 build中的所有資源, 以及他們需要多
少空間.
5. Unused Assets: 顯示資產清單中的項目, 是 *not* 用於產生 build. 這是用來找出哪
些資產不再被使用也許你可能想要刪除以節省空間的。
= = = 什麼算在產生報告 = = =
The Build Report只會考慮您的資產size,加上託管的 Dll。您的產生的實際最終大小可能
大於或小於取決於平台。
在案頭和移動版本中產生大小反映程式產生的檔案大小產生的 sharedassets0.assets、
sharedassets1.assets (以及等等)。也算是 (Mono Dll,您的指令碼在已編譯的 DLL 形
式,加上其他"Managed"的 Dll 項目中) 的"管理"檔案夾中的檔案。
所有其他檔案都是不計入總產生大小。這包括本機plugins。
但要注意,本機plugins將仍顯示在資產列表,它只是說他們不算在"Total Used Assets
Size"中。
"Used Assets Size Breakdown" 表中不包含您的 StreamingAssets 檔案夾中的檔案。然而
,仍表示他們總的大小,和這些檔案還包含在"Used Assets" 列表中。
在案頭產生中,你會發現一個"unity default resources"檔案在您的build中。像預設GUI
Skin、GUI、 shaders、built-in cube、 cylinder、capsule、white material、預設字型
等。
這些檔案也不計算在Build Report內。
看到這裡的討論: http://forum.unity3d.com/threads/120081-unity-default-resources
在 Windows 中,您產生的.exe 檔也不被認為在產生報告中這被認為是一
個"boilerplate"的資源。你的.exe 檔的內容是built在Unity中,有一些次要的更改的所
有 Windows 程式中很大程度上標準。
在 web 版本中,您的.unity3d 檔案是壓縮的存檔,您使用的assets,你Unity情境檔案,
您的指令碼託管 Dll,任何託管 Dll 從Mono標準庫,再加上任何託管您顯式包含的 Dll。
注意有幾個Mono的庫不能包含 web 基於 網頁瀏覽器的安全的考慮。
在 iOS 版本中,總產生大小僅代表遊戲在它擷取編譯和打包成 Xcode.app 檔案之前的大小
。一旦它擷取打包成一個.ipa 檔案大小可能會更小。
注意: 託管的 Dll 意味著 DLL 檔案,其中包含已編譯的.NET/Mono代碼。本機 Dll 的意
思不是.NET/Mono (通常 C/c + +) 的代碼產生的 DLL 檔案。
=== Prefab Instances in Scenes ===
如果你在一個情境中有prefab的執行個體,他們其實不算在編輯log產生資訊。確切地說,我不
確定。
我的猜測是事情的工作方式: 實際上在運行時,prefabs的概念不存在了。Unity而言他們
都只是遊戲的所有對象。
執行個體化實際上只是重複/複製現有的遊戲對象 (是否它目前居住在情境中或作為一個prefab
的 assets 檔案夾中存在)。(邊註: 你可以實際使用執行個體化要複製一個遊戲物體,即使它
不是一個prefab)
因此,在運行時,prefab串連會迷路。一旦你運行這個遊戲,prefab執行個體被簡單地視為常規
的遊戲對象。同樣的事情發生時你build你的遊戲吧
所以您項目中的prefab檔案不包括在build中。相反,在你的情境的prefab個體是統計在文
件大小 (從技術上講他們的檔案大小是在情境檔案的檔案大小)。
兩個例外:
1.如果你prefab的檔案是在Resources中,build中包含它。
2.如果您的prefab引用在一個指令碼通過variable/field,build中包含它。
基本上這意味著如果您建立了您的代碼,您需要在運行時執行個體化一個prefab (無論是否它
的一個執行個體在現場已經有沒有),然後unity已別無選擇的方式,但要包括在產生中。
所以你可能不會顯示大小閱讀"Used Assets"部分中找到一些prefab的檔案。那些在情境中
採用prefab但不是在Resources的檔案夾中,也作為一個變數引用。
=== Size Readings ===
當在 Windows 資源管理員中顯示,為什麼是build尺寸較大?
你可能會發現Build Report Tool中的大小不同的磁碟上檔案的大小。這是正常的。這裡是
一個很好的解釋為什麼: http://superuser.com/questions/66825/what-is-the-
difference-between-size-and-size-on-disk
Quote:
報價:
We know that a disk is made up of Tracks and Sectors. In Windows that means the
OS allocates space for files in "clusters" or "allocation units".
我們知道磁碟由Tracks和Sectors。在 Windows 中這意味著作業系統中的"clusters" or
"allocation units"的檔案分配空間。
群集的大小各異,但典型的範圍是從 512 位元組到 32k 或更大。例如,在我 C:\ 磁碟機上
,配置單位是 4096 位元組為單位)。這意味著 Windows 將為任何檔案或其中部分是從 1 到
4096 個位元組長度的檔案分配 4096 個位元組。
...
另一個例子就是如果有了一個檔案,大小為 2000 個位元組。在磁碟上的檔案大小將為 4096
位元組。原因是,因為即使整個檔案可以容納一個配置單位,它仍然佔據磁碟上的空間 (一
個配置單位) 4096 (只有一個檔案可以使用配置單位和不能與其他檔案分享權限設定)。
所以在磁碟上的大小是所有這些領域,在其中儲存檔案的空間。通常情況下,這意味著,在
磁碟上的大小總是大於實際大小。
End quote.
我只想說當你的game/app將通過互連網下載,需要轉移的size是閱讀你看到在Build Report
Tool,不是讀您的磁碟上的大小的大小。
邊註: 在Build Report window的大小讀數有小數部分被圍捕,由兩位小數。
= = = 附加說明 = = =
別擔心,產生報表工具本身使用的資產不會包含在您的產生。
為支援,您可以:
* 給我發一條 tweet 在 http://twitter.com/AnomalusUndrdog
* 給我一個私人資訊在統一論壇 (http://forum.unity3d.com/members/8479-
AnomalusUndrdog)
* 寄給我一封電子郵件在 anomalous_underdog@yahoo.com