Unity Assets目錄下的特殊資料夾名稱

qq_37304439發表於2020-12-28

原文:http://wiki.unity3d.com/index.php/Special_Folder_Names_in_your_Assets_Folder


1.隱藏資料夾

以點開頭的資料夾(如".UnitTests/"、".svn/")會被Unity忽略。那裡的任何資產都不會被匯入,那裡的任何指令碼都不會被編譯。它們不會顯示在專案檢視中。

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一樣,這裡只有檔案是為專業版準備的。這意味著這裡的assets使用了專業版特有的功能,如渲染紋理和螢幕空間效果。

同樣,這裡的指令碼也是提前編譯的,允許Pro Standard Assets之外的其他指令碼(任何語言)訪問它們。

4.Editor

以Editor命名的資料夾允許其中的指令碼訪問Unity Editor的API。如果指令碼中使用了在UnityEditor名稱空間中的類或方法,它必須被放在名為Editor的資料夾中。Editor資料夾中的指令碼不會在build時被包含。
在專案中可以有多個Editor資料夾。
注意:如果在普通的資料夾下,Editor資料夾可以處於目錄的任何層級。如果在特殊資料夾下,那Editor資料夾必須是特殊資料夾的直接子目錄。

5.Plugins

在 "Plugins "資料夾中,您必須放置任何您希望被指令碼訪問的本地外掛。它們也會自動包含在您的構建中。請注意,這個資料夾不能放在任何子資料夾中(它必須位於頂層的Assets資料夾中)。

在 Windows 中,本地外掛以 .dll 檔案的形式存在,在 Mac OS X 中,它們是 .bundle 檔案,而在 Linux 中,它們是 .so 檔案。

和Standard Assets一樣,這裡的任何指令碼都是提前編譯的,允許Plugins資料夾之外的其他指令碼(任何語言的)訪問它們。

5.1.Plugins/x86

如果你是為32位或通用(包括32位和64位)平臺構建,如果這個子資料夾存在,這個資料夾中的任何原生外掛檔案將在build的時候自動包含。如果這個資料夾不存在,Unity會在父Plugins資料夾內尋找原生外掛。

5.2.Plugins/x86_64

如果你是為64位或通用(包括32位和64位)平臺構建,並且如果這個子資料夾存在,這個資料夾中的任何原生外掛檔案將在build的時候自動包含。如果這個資料夾不存在,Unity會在父Plugins資料夾內尋找原生外掛。

如果你要做一個通用的構建,建議你同時做x86和x86_64子資料夾。然後把32位和64位版本的原生外掛相應地放在合適的子資料夾裡。

5.3.Plugins/Android

在這裡放置任何你想要包含在你的Android專案中的Java .jar檔案,用於基於Java的外掛。任何.so檔案(當有基於Android NDK的外掛時)也將被包含。參見http://docs.unity3d.com/Documentation/Manual/PluginsForAndroid.html

5.4.Plugins/iOS

一個有限的、簡單的方法來自動新增(作為符號連結)任何.a、.m、.mm、.c或.cpp檔案到生成的Xcode專案中。參見http://docs.unity3d.com/Documentation/Manual/PluginsForIOS.html。

如果你需要更多的控制如何自動新增檔案到Xcode專案中,你應該利用PostprocessBuildPlayer功能。這樣做並不要求您將這些檔案放在Plugins/iOS資料夾中。參見http://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
注意:當資源作為指令碼變數被訪問時,這些資源在指令碼被例項化後就被載入進記憶體。如果資源太大,你可能不希望它被這樣載入。那麼你可以將這些大資源放進Resources資料夾中,通過Resources.Load來載入。當不再使用這些資源了,可以通過Destroy物體,再呼叫Resources.UnloadUnusedAssets來釋放記憶體。

7.Editor Default Resources

這個資料夾的功能類似於Resources資料夾,但僅用於編輯指令碼。

8.Gizmos

Gizmos資料夾存放用Gizmos.DrawIcon方法使用的貼圖、圖示資源。放在Gizmos資料夾中的貼圖資源可以直接通過名稱使用,可以被Editor作為gizmo畫在螢幕上。

9.WebPlayerTemplates

用來替換預設的網頁用於網頁構建。任何放在這裡的指令碼都不會被編譯。這個資料夾必須在你的頂層Assets資料夾中(不應該在Assets目錄下的任何子資料夾中)。

10.StreamingAssets

這裡的任何檔案都會被原樣複製到構建資料夾中,不做任何更改(除了移動和網頁構建,它們會被嵌入到最終的構建檔案中)。它們所在的路徑在每個平臺上會有所不同,但可以通過Application.streamingAssetsPath (http://docs.unity3d.com/Documentation/ScriptReference/Application-streamingAssetsPath.html)來訪問。另見http://docs.unity3d.com/Documentation/Manual/StreamingAssets.html

StreamingAssets 是隻讀的,意味著不能對它進行修改。

win端 : E:/Code/Unity/MMOPRGClient/Assets/StreamingAssets(E:/Code/Unity/MMOPRGClient 是你的專案路徑)
在這裡插入圖片描述

Android: 安卓環境下的路徑在這裡插入圖片描述這是在windows下把b.apk解壓出來後assets下的路徑(沒什麼用,看一下就好)
在這裡插入圖片描述

相關文章