Unity中各種常用文件夾的用處

我列舉了5種unity中常用文件夾的用途

1.Editor

2.Editor Default Resources

3.Plugins

4.Resources

5. StreamingAssets

1.Editor

Editor文件夾可以在根目錄下,也可以在子目錄裏,只要名子叫Editor就可以。比如目錄:/xxx/xxx/Editor  和 /Editor 是一樣的,無論多少個叫Editor的文件夾都可以。Editor下面放的所有資源文件或者腳本文件都不會被打進發布包中,並且腳本也只能在編輯時使用。一般呢會把一些工具類的腳本放在這裏,或者是一些編輯時用的DLL。 比如我們現在要做類似技能編輯器,那麼編輯器的代碼放在這裏是再好不過了,因爲實際運行時我們只需要編輯器生成的文件,而不需要編輯器的核心代碼。

2.Editor Default Resources

Editor Default Resources注意中間是有空格的,它必須放在Project視圖的根目錄下,如果你想放在/xxx/xxx/Editor Default Resources 這樣是不行的。你可以把編輯器用到的一些資源放在這裏,比如圖片、文本文件、等等。它和Editor文件夾一樣都不會被打到最終發佈包裏,僅僅用於開發時使用。你可以直接通過EditorGUIUtility.Load去讀取該文件夾下的資源。

3.Plugins

如果做手機遊戲開發一般 andoird 或者 ios 要接一些sdk 可以把sdk依賴的庫文件 放在這裏,比如 .so .jar .a 文件。這樣打完包以後就會自動把這些文件打在你的包中。

4.Resources

可以在根目錄下,也可以在子目錄裏,只要名子叫Resources就可以。比如目錄:/xxx/xxx/Resources  和 /Resources 是一樣的,無論多少個叫Resources的文件夾都可以。Resources文件夾下的資源不管你用還是不用都會被打包進.apk或者.ipa

Resource.Load :編輯時和運行時都可以通過Resource.Load來直接讀取。

Resources.LoadAssetAtPath() :它可以讀取Assets目錄下的任意文件夾下的資源,它可以在編輯時或者編輯器運行時用,它但是它不能在真機上用,它的路徑是”Assets/xx/xx.xxx” 必須是這種路徑,並且要帶文件的後綴名。

AssetDatabase.LoadAssetAtPath():它可以讀取Assets目錄下的任意文件夾下的資源,它只能在編輯時用。它的路徑是”Assets/xx/xx.xxx” 必須是這種路徑,並且要帶文件的後綴名。

我覺得在電腦上開發的時候儘量來用Resource.Load() 或者 Resources.LoadAssetAtPath() ,假如手機上選擇一部分資源要打assetbundle,一部分資源Resource.Load().那麼在做.apk或者.ipa的時候 現在都是用腳本來自動化打包,在打包之前 可以用AssetDatabase.MoveAsset()把已經打包成assetbundle的原始文件從Resources文件夾下移動出去在打包,這樣打出來的運行包就不會包行多餘的文件了。打完包以後再把移動出去的文件夾移動回來。

5. StreamingAssets

這個文件夾下的資源也會全都打包在.apk或者.ipa 它和Resources的區別是,Resources會壓縮文件,但是它不會壓縮原封不動的打包進去。並且它是一個只讀的文件夾,就是程序運行時只能讀 不能寫。它在各個平臺下的路徑是不同的,不過你可以用Application.streamingAssetsPath 它會根據當前的平臺選擇對應的路徑。

有些遊戲爲了讓所有的資源全部使用assetbundle,會把一些初始的assetbundle放在StreamingAssets目錄下,運行程序的時候在把這些assetbundle拷貝在Application.persistentDataPath目錄下,如果這些assetbundle有更新的話,那麼下載到新的assetbundle在把Application.persistentDataPath目錄下原有的覆蓋掉。

因爲Application.persistentDataPath目錄是應用程序的沙盒目錄,所以打包之前是沒有這個目錄的,直到應用程序在手機上安裝完畢纔有這個目錄。

StreamingAssets目錄下的資源都是不壓縮的,所以它比較大會佔空間,比如你的應用裝在手機上會佔用100M的容量,那麼你又在StreamingAssets放了一個100M的assetbundle,那麼此時在裝在手機上就會在200M的容量。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章