1. 隱藏文件夾
以.開頭的文件夾會被Unity忽略。在這種文件夾中的資源不會被導入,腳本不會被編譯。也不會出現(xiàn)在Project視圖中。
2. Standard Assets
在這個文件夾中的腳本最先被編譯。這個文件夾中的腳本會被導出到Assembly-CSharp-firstpass, Assembly-UnityScript-firstpass 或 Assembly-Boo-firstpass項目中,依語言而定。
參考http://docs.unity3d.com/Documentation/Manual/ScriptCompileOrderFolders.html 。
在這個文件夾中的腳本比其他腳本都要先編譯。將腳本放在這個文件夾里,就可以用C#腳本來訪問js腳本或其他語言的腳本。
3. Pro Standard Assets
跟Standard Assets相同,只不過里面的文件是給Pro版本的Unity使用的。
4. Editor
以Editor命名的文件夾允許其中的腳本訪問Unity Editor的API。如果腳本中使用了在UnityEditor命名空間中的類或方法,它必須被放在名為Editor的文件夾中。Editor文件夾中的腳本不會在build時被包含。在項目中可以有多個Editor文件夾。注意:如果在普通的文件夾下,Editor文件夾可以處于目錄的任何層級。如果在特殊文件夾下,那Editor文件夾必須是特殊文件夾的直接子目錄。
5. Plugins
Plugins文件夾用來放native插件。它們會被自動包含進build中去。注意這個文件夾只能是Assets文件夾的直接子目錄。在Windows平臺下,native 插件是dll文件;Mac OS X下,是bundle文件;Linux下,是.so文件。跟Standard Assets一樣,這里的腳本會更早的編譯,允許它們被之外的腳本訪問。
5.1. Plugins/x86
如果為32bit或64bit平臺創(chuàng)建游戲,那么這個文件夾下的native plugin文件會被自動的包含在游戲build中。如果這個文件夾不存在,則Unity會查找Plugins文件夾下的native pluglins。
5.2. Plugins/x86_64
如果為32bit或64bit平臺創(chuàng)建游戲,那么這個文件夾下的native plugin文件會被自動的包含在游戲build中。如果這個文件夾不存在,則Unity會查找Plugins文件夾下的native pluglins。
如果要創(chuàng)建universal build,建議你同時使用這兩個文件夾。然后將32bit和64bit的native plugins放進相應的文件夾中。
5.3. Plugins/Android
在這個文件夾里放入Java.jar文件。用于java語言的plugins。.so文件也會被包含進來。參考http://docs.unity3d.com/Documentation/Manual/PluginsForAndroid.html
5.4. Plugins/iOS
A limited, simple way to automatically add (as symbolic links) any .a, .m, .mm, .c, or .cpp files into the generated Xcode project. Seehttp://docs.unity3d.com/Documentation/Manual/PluginsForIOS.htmlIf you need more control how to automatically add files to the Xcode project, you should make use of the PostprocessBuildPlayer feature. Doing so does not require you to place such files in the Plugins/iOS folder. Seehttp://docs.unity3d.com/Documentation/Manual/BuildPlayerPipeline.html
6. Resources
Resources文件夾允許你在腳本中通過文件路徑和名稱來訪問資源。但還是推薦使用直接引用來訪問資源。放在這一文件夾的資源永遠被包含進build中,即使它沒有被使用。因為Unity無法判斷腳本有沒有訪問了其中的資源。項目中可以有多個Resources文件夾,因此不建議在多個文件夾中放同名的資源。一旦build游戲,Resources文件夾中的所有資源被打包進游戲存放資源的archive中。這樣在游戲的build中就不存在Resources文件夾了。即使腳本中仍然使用了資源在項目中的路徑。
參考 http://docs.unity3d.com/Documentation/Manual/LoadingResourcesatRuntime.html
注意:當資源作為腳本變量被訪問時,這些資源在腳本被實例化后就被加載進內(nèi)存。如果資源太大,你可能不希望它被這樣加載。那么你可以將這些大資源放進Resources文件夾中,通過Resources.Load來加載。當不再使用這些資源了,可以通過Destroy物體,再調(diào)用Resources.UnloadUnusedAssets來釋放內(nèi)存。
7. Editor Default Resources
這是為editor 腳本使用的文件夾。
8. Gizmos
Gizmos文件夾存放用Gizmos.DrawIcon方法使用的貼圖、圖標資源。放在Gizmos文件夾中的貼圖資源可以直接通過名稱使用,可以被Editor作為gizmo畫在屏幕上。
9. WebPlayerTemplates
用來替換web build的默認網(wǎng)頁。這個文件夾中的腳本都不會被編譯。這個文件夾必須作為Assets文件夾的直接子目錄。
10. StreamingAssets
這里的文件會被拷貝到build文件夾中,不會修改(移動和網(wǎng)頁版不同,他們會被嵌入到最終build文件中)。它們的路徑會因平臺而有差異,但都可以通過Application.streamingAssetsPath來訪問。
參考:
http://docs.unity3d.com/Documentation/Manual/StreamingAssets.html
http://docs.unity3d.com/Documentation/ScriptReference/Application-stream...。
參考文獻:http://wiki.unity3d.com/index.php/Special_Folder_Names_in_your_Assets_Fo...
11. Resources文件夾
Resources文件夾是一個只讀的文件夾,通過Resources.Load()來讀取對象。因為這個文件夾下的所有資源都可以運行時來加載,所以Resources文件夾下的所有東西都會被無條件的打到發(fā)布包中。建議這個文件夾下只放Prefab或者一些Object對象,因為Prefab會自動過濾掉對象上不需要的資源。舉個例子我把模型文件還有貼圖文件都放在了Resources文件夾下,但是我有兩張貼圖是沒有在模型上用的,那么此時這兩張沒用的貼圖也會被打包到發(fā)布包中。假如這里我用Prefab,那么Prefab會自動過濾到這兩張不被用的貼圖,這樣發(fā)布包就會小一些了。
12. StreamingAssets
StreamingAssets文件夾也是一個只讀的文件夾,但是它和Resources有點區(qū)別,Resources文件夾下的資源會進行一次壓縮,而且也會加密,不使用點特殊辦法是拿不到原始資源的。但是StreamingAssets文件夾就不一樣了,它下面的所有資源不會被加密,然后是原封不動的打包到發(fā)布包中,這樣很容易就拿到里面的文件。所以StreamingAssets適合放一些二進制文件,而Resources更適合放一些GameObject和Object文件。StreamingAssets 只能用過www類來讀取!!
13. 最后凡是在Hierarchy視圖對象引用過的資源文件也會被無條件打包到發(fā)布包中。
如果有一部分文件可能沒有在Resources文件夾下也沒有在StreamingAssets文件夾下,也沒有被Hierarchy視圖游戲?qū)ο笠茫敲催@類資源是不會被打包到發(fā)布包中的。在處理不同包對應不同資源包的時候,盡量讓可配置的資源放在Resources 或StreamingAssets文件夾下,運行的時候程序動態(tài)的來讀取它們,最后顯示在游戲中就可以了。在批量打包前,在Project視圖下創(chuàng)建不同包的資源文件夾, 然后腳本 AssetDatabase 動態(tài)的將資源拷貝至Resources或StreamingAssets 文件夾中
審核編輯:何安
-
Unity
+關注
關注
1文章
127瀏覽量
21808
發(fā)布評論請先 登錄
相關推薦
評論