Assets
Assets文件夾是unity項目中放置游戲資源的主文件夾。該文件夾中的內(nèi)容將直接反應(yīng)在編輯器的Project視口中。許多系統(tǒng)API基于該文件夾。
與腳本編譯順序相關(guān)的文件夾
在unity開發(fā)中,我們可以為自己的項目隨意命名文件夾以管理游戲資源,包括代碼資源。但unity保留了一些特殊文件夾用來做特殊用途,例如編譯順序。
unity的腳本編譯有4個階段(phase),腳本處在哪個編譯階段取決于腳本所在的文件夾。如果你的一些腳本需要引用一些別的文件夾中定義的類,則需要關(guān)心他們的編譯順序。你引用的類需要先于你的當(dāng)前類編譯?;蛘弋?dāng)你需要引用其他語言的腳本時,那么該腳本必須處于更早的編譯階段。
unity中的4個編譯階段如下:
1.處于 Standard Assets, Pro Standard Assets 和 Plugins 文件夾中的運(yùn)行時腳本(Standard Assets 文件夾需是Assets的一級子文件夾.)
2.處于 Standard Assets, Pro Standard Assets 和 Plugins 文件夾下的以 Editor 命名的一級子文件夾中的腳本。
3.頂級 Editor 文件夾中的腳本。
4.其他 Editor 文件夾中的腳本(例如其他文件夾下的以 Editor 命名的子文件夾)
另外在 Assets 文件夾中以 WebPlayerTemplates 命名的頂級子文件(即Assets/WebPlayerTemplates)將不會編譯。若是處于別的文件夾下的 WebPlayerTemplates (如Assets/Scripts/WebPlayerTemplates)將不會防止編譯。
注意:
Editor 文件夾中的腳本主要用來擴(kuò)展unity編輯器的功能方便開發(fā)。這些腳本將不會打包進(jìn)最終發(fā)布的游戲中。項目中可以使用多個 Editor 文件夾,但是該文件夾中的腳本不允許用當(dāng)GameObject對象的組件(Component)。
Plugins 文件夾中存放用于擴(kuò)展unity功能的插件(多為C/C++寫成的原生動態(tài)鏈接庫(DLLs))。這些插件可以訪問第三方代碼庫,系統(tǒng)API以及其他超出Unity功能的模塊。
Editor Default Resources
我們使用 Editor 文件夾中的腳本擴(kuò)展unity編輯器的功能時,可以使用函數(shù)EditorGUIUtility.Load 加載資源。該函數(shù)將優(yōu)先加載Assets下的以 Editor Default Resources 命名的一級子目錄。如果沒有找到將嘗試通過名字查找內(nèi)置于編輯器中的資源。
Gizmos
Unity的Gizmos類可在Scene視口中繪制圖像用來顯示設(shè)計細(xì)節(jié)。Gizmos.DrawIcon函數(shù)可以在場景視口中繪制一個圖標(biāo)以標(biāo)記特殊的對象和位置。該函數(shù)使用的圖像文件需要位于 Gizmos 中。
Resources
Unity允許你按需動態(tài)加載游戲資源到場景中。Resources.Load 函數(shù)可以加載項目中位于任何位置的 Resources 文件夾中的資源。你可以有多個Resources文件夾,不管是否是頂級文件夾都可以。
StreamingAssets
當(dāng)你需要使用某種保留原格式的資源,而不是經(jīng)過Unity處理過的格式資源時,你可以將該資源放置于 StreamingAssets 文件夾中。該文件夾中的資源將在游戲安裝時原樣拷貝到目標(biāo)設(shè)備相應(yīng)的文件夾下??蓞⒖?a target="_blank" rel="nofollow">Streaming Assets查看詳情。
Hidden Assets
在導(dǎo)入階段,Unity將完全忽略以下文件夾下的資源。
·以 Hidden 命名的文件夾。
·以 ‘.’ 開頭的文件和文件夾
·以 ‘~’ 開頭的文件和文件夾
·以 ‘cvs’ 命名的文件和文件
. 以 ‘tmp’ 為擴(kuò)展名的文件
[參考鏈接][1]:http://docs.unity3d.com/Manual/SpecialFolders.html
[參考鏈接][2]:http://docs.unity3d.com/Manual/ScriptCompileOrderFolders.html