1.Editor
放在該文件夾或其中的子文件中的所有腳本都被視為編輯器腳本,并且不能運(yùn)行在已經(jīng)發(fā)布的游戲內(nèi),項(xiàng)目中可以包含多個(gè)Editor文件夾,但是在一些特殊的文件夾下可能會(huì)影響自身的編譯順序
注:如果腳本放在編輯器文件夾中并派生MonoBehaviour類,Unity不允許把這類腳本掛載到GameObject上
2.Editor Default Resources
Editor的默認(rèn)資源文件夾,可以通過EditorGUIUtility.Load按需加載資源文件,這個(gè)函數(shù)從該文件夾內(nèi)查找資源,并且你需要把該文件夾直接放在Assets目錄下
3.Gizmos
Unity的Gizmos允許我們向場(chǎng)景視圖中添加圖形來輔助可視化不可見的設(shè)計(jì)細(xì)節(jié),例如Gizmos.DrawIcon函數(shù)放置一個(gè)圖形到場(chǎng)景視圖中,以此來標(biāo)記一個(gè)特殊的對(duì)象或位置,我們必須將用到的資源放置在Gizmos的文件夾中,以便能通過DrawIcon函數(shù)查找到
4.Plugins
Unity允許將插件添加到項(xiàng)目中拓展Unity的可用功能,插件通常是其他語言已經(jīng)生成好的DLL,放置在Plugins下的DLL的文件最優(yōu)先編譯,其次是非Editor目錄下文件,Editor最后編譯,三者存在固定優(yōu)先級(jí)
5.Resources
Unity允許我們根據(jù)自身需要通過腳本加載資源,Resources.Load加載Resources文件夾下的資源,并且Resources文件夾可以放到項(xiàng)目?jī)?nèi)的任何地方,當(dāng)位于Editor文件夾下時(shí),里面的資源可以通過編輯器腳本加載,但是在發(fā)布時(shí),這些資源會(huì)被刪除
6.Standard Assets
當(dāng)我們導(dǎo)入標(biāo)準(zhǔn)資源包時(shí),這些資源會(huì)被放到一個(gè)名叫Standard Assets的文件及中,該文件夾除了可以包含資源外,還會(huì)影響腳本的編譯順序
7.StreamingAssets
大多數(shù)游戲資源都會(huì)直接打包到產(chǎn)品中,但在某些情況下,我們希望保存文件的原格式,放置在StreamingAssets文件夾下的資源,會(huì)以原樣復(fù)制到目標(biāo)平臺(tái),然后在特地文件夾中加載他們,StreamingAssets目錄中的任何文件都會(huì)原封不動(dòng)的拷貝到目標(biāo)平臺(tái)的特定目錄中,可以通過Application.streamingAssetsPath,獲取到文件夾的路徑,文件可讀不可寫,DLL文件不參與編譯,Android平臺(tái)下通過WWW類來讀取
--以下路徑等同于Application.StreamingAssetsPath
在臺(tái)式機(jī)上(Mac OS / Windows)上,可以使用下面代碼獲取文件的位置:
path=Application.dataPath+"/StreamingAssets";
在IOS中,使用:path=Application.dataPath+"/Raw";
在Android中,使用:path="jar:file://"+Application.dataPath+"!/assets/";
8.Hidden Assets
在導(dǎo)入過程中,Unity完全忽略Assets目錄中的(或其中的子目錄)中的以下文件和文件夾
隱藏的目錄
以‘.’開頭的文件和目錄
以‘~’結(jié)尾的文件和目錄
名為cvs的文件和目錄
擴(kuò)展名為.tmp的文件
這是用于防止導(dǎo)入操作系統(tǒng)或其他應(yīng)用程序創(chuàng)建的特殊和臨時(shí)文件。
腳本編譯順序
Unity保留了一些項(xiàng)目文件夾名稱來標(biāo)識(shí)其內(nèi)的內(nèi)容具有一些特殊目的。而其中一些文件夾會(huì)影響腳本編譯的編譯順序。
這些文件夾名稱是:
·Assets
·Editor
·Editor default resources
·Gizmos
·Plugins
·Resources
·Standard Assets
·StreamingAssets
腳本編譯有四個(gè)不同的階段。處于哪個(gè)階段編譯由其父目錄確定。
在腳本必須引用其他腳本中定義的類容的情況下,編譯的順序就非常重要了?;疽?guī)則是,
在當(dāng)前階段之后編譯的任何東西都引用不到,在當(dāng)前階段之前或早期的階段編譯的任何內(nèi)容都可以完全引用。 編譯階段如下:
·階段1:編譯Standard Assets、Plugin中的運(yùn)行時(shí)腳本
·階段2:編譯Standard Assets、Plugin中的Editor腳本
·階段3:編譯其他不在Editor目錄下的腳本
·階段4:編譯Editor目錄下的腳本
該位置因平臺(tái)而異,請(qǐng)注意區(qū)分大小寫