今天為大家分享一下,,如何快速認識unity3d 常用的一些固有文件夾,。 好吧!那么我一起來探討一下吧!
1. 隱藏文件夾 以.開頭的文件夾會被Unity忽略,。在這種文件夾中的資源不會被導(dǎo)入,腳本不會被編譯,。也不會出現(xiàn)在Project視圖中,。這種文件我們可以在資源瀏覽器的時候,能找到這些文件,。
2. Standard Assets 在這個文件夾中的腳本最先被編譯,。一般是放一些Unity 內(nèi)置的一些資源。 這個文件夾中的腳本會被導(dǎo)出到Assembly-CSharp-firstpass,Assembly-UnityScript-firstpass 或 Assembly-Boo-firstpass項目中,,依語言而定,。 參考http://docs./Documentation/Manual/ScriptCompileOrderFolders.html 。在這個文件夾中的腳本比其他腳本都要先編譯,。將腳本放在這個文件夾里,,就可以用C#腳本來訪問js腳本或其他語言的腳本。
3. Pro Standard Assets 和StandardAssets相同,,只不過里面的文件是給Pro版本的Unity使用的,。當(dāng)然它的功能更為的豐富,例如一些高級內(nèi)置的shader文件,,只有在Pro版才能起作用,。
4. Editor 以Editor命名的文件夾允許其中的腳本訪問UnityEditor的API。如果腳本中使用了在UnityEditor命名空間中的類或方法,,它必須被放在名為Editor的文件夾中,。Editor文件夾中的腳本不會在build時被包含。 在項目中可以有多個Editor文件夾,。[注意:如果在普通的文件夾下,,Editor文件夾可以處于目錄的任何層級。如果在特殊文件夾下,,那Editor文件夾必須是特殊文件夾的直接子目錄,。]
5. Editor Default Resources 你可以把編輯器用到的一些資源放在這里,比如圖片,、文本文件,、等等。它和Editor文件夾一樣都不會被打到最終發(fā)布包里,,僅僅用于開發(fā)時使用,。你可以直接通過EditorGUIUtility.Load去讀取該文件夾下的資源,例如: TextAsset text = EditorGUIUtility.Load(“1.txt")as TextAsset;
6. Plugins Plugins文件夾用來放native插件,。它們會被自動包含進build中去,。注意這個文件夾只能是Assets文件夾的直接子目錄。 例如: Windows:dll文件; Mac OS X:bundle文件,; Linux下:.so文件,。 和StandardAssets一樣,這里的腳本會更早的編譯,,并且允許它們被之外的腳本訪問,。
6.1 Plugins/x86 || x86_64 (一般PC平臺) 如果為32bit或64bit平臺創(chuàng)建游戲,那么這個文件夾下的nativeplugin文件會被自動的包含在游戲build中,。如果這個文件夾不存在,,則Unity會查找Plugins文件夾下的nativepluglins。 如果要創(chuàng)建universalbuild,,建議你同時使用這兩個文件夾,。然后將32bit和64bit的nativeplugins放進相應(yīng)的文件夾中。
6.2 Plugins/Android 在這個文件夾里放入Java.jar文件,。用于java語言的plugins,。.so文件也會被包含進來。 官方文檔:http://docs./Documentation/Manual/PluginsForAndroid.html
6.3 Plugins/iOS 在這個文件夾放入.o,、.m ,、 .mm 、.c ,、.cpp等文件,,一般在IOS 平臺導(dǎo)出對應(yīng)的文件。 官方文檔: http://docs./Documentation/Manual/PluginsForIOS.html
7. Resources Resources文件夾允許你在腳本中通過文件路徑和名稱來訪問資源,。放在這一文件夾的資源永遠被包含進build中,,即使它沒有被使用。因為Unity無法判斷腳本有沒有訪問了其中的資源,。項目中可以有多個Resources文件夾,,因此不建議在多個文件夾中放同名的資源。一旦build游戲,,Resources文件夾中的所有資源被打包進游戲存放資源的archive中,。這樣在游戲的build中就不存在Resources文件夾了。即使腳本中仍然使用了資源在項目中的路徑,。
官方文檔:http://docs./Documentation/Manual/LoadingResourcesatRuntime.html
注意: 當(dāng)資源作為腳本變量被訪問時,,這些資源在腳本被實例化后就被加載進內(nèi)存。如果資源太大,,你可能不希望它被這樣加載,。那么你可以將這些大資源放進Resources文件夾中,通過Resources.Load來加載,。當(dāng)不再使用這些資源了,,可以通過Destroy物體,再調(diào)用Resources.UnloadUnusedAssets來釋放內(nèi)存。
特點: (1).文件夾內(nèi)資源打包集成.asset 文件里面,,例如一些shader/material/prefab等資源文件; (2).里面的資源只能是只讀,,不能動態(tài)修改,一般動態(tài)的更新的資源不雅放在這個文件夾內(nèi); (3).通過主線程加載,; (4). Resources.Load();加載資源 Resources.LoadAll();加載所有資源 Resources.LoadAsync();異步加載資源
8. Gizmos Gizmos文件夾存放用Gizmos.DrawIcon方法使用的貼圖,、圖標(biāo)資源。放在Gizmos文件夾中的貼圖資源可以直接通過名稱使用,,可以被Editor作為gizmo畫在屏幕上。這里還是要說說OnDrawGizmos()方法,,只要腳本繼承了MonoBehaviour后,,并且在編輯模式下就會每一幀都執(zhí)行它。發(fā)布的游戲肯定就不會執(zhí)行了,,它只能用于在scene視圖中繪制一些小物件,。比如要做攝像機軌跡,那么肯定是要在Scene視圖中做一個預(yù)覽的線,,那么用Gizmos.DrawLine和Gizmos.DrawFrustum就再好不過了,。
9. WebPlayerTemplates 用來替換webbuild的默認網(wǎng)頁。這個文件夾中的腳本都不會被編譯,。這個文件夾必須作為Assets文件夾的直接子目錄,。
10. StreamingAssets 這里的文件會被拷貝到build文件夾中,不會修改(移動和網(wǎng)頁版不同,,他們會被嵌入到最終build文件中),。它們的路徑會因平臺而有差異,但都可以通過Application.streamingAssetsPath來訪問,。 例如:有些游戲為了讓所有的資源全部使用assetbundle,,會把一些初始的assetbundle放在StreamingAssets目錄下,StreamingAssets目錄下的資源都是不壓縮的,而且它比較大會占空間,。
就先介紹到這里了,,歡迎加我的學(xué)習(xí)交流群:575561285。 |
|
來自: 勤奮不止 > 《游戲引擎unity》