加載資源或者下載資源時(shí)的常用路徑,我們平常開發(fā)下用的是編輯器下的路徑。
編輯器下使用的資源路徑和Windows端打包后并沒有什么區(qū)別。你在編輯器下寫的資源路徑代碼,大概率是可以在Windows下無縫運(yùn)行的,重點(diǎn)是移動端打包后使用的資源路徑,和Windows的資源路徑有所不同。
順帶說明,路徑全部使用'/'作為分隔符,移動端只支持'/'。
一、先介紹下這幾個路徑和文件夾。
1.1 Application.dataPath路徑
這個屬性返回的是程序的數(shù)據(jù)文件所在文件夾的路徑。在編輯器下為Assets文件夾。
1.2 Application.streamingAssetsPath路徑
這個屬性返回流數(shù)據(jù)的緩存目錄。使用前需要在Unity工程的Assets目錄下起一個名為“StreamingAssets”的文件夾,然后用Application.streamingAssetsPath訪問,這個文件夾中的資源在打包時(shí)會原封不動的打包進(jìn)去,不會壓縮加密。
1.3 Application.persistentDataPath路徑
這個屬性返回一個持久化數(shù)據(jù)存儲目錄的路徑,可以在此路徑下存儲一些持久化的數(shù)據(jù)文件。在開發(fā)階段時(shí)使用這個路徑?jīng)]有意義。
1.4 Application.temporaryCachePath路徑
此屬性用于返回一個臨時(shí)數(shù)據(jù)的緩沖目錄。
1.5 Resources文件夾
此文件夾下的資源必須通過Resources.Load()加載。路徑直接從Resources下開始,打包后資源會被壓縮加密,只支持讀文件,無法寫入。
二、哪些資源會被打包
在說不同平臺路徑之前要先明白一件事,Unity在打包發(fā)布時(shí),會將Assets文件夾里面的文件打包,但并不是Assets所有的資源文件都會被打包,編譯后代碼不提,這個是肯定會被打包,其次除代碼以外的各類資源,只有Resources下的和StreamingAssets兩個文件夾下的資源才會被打包。
順帶提一下,在開發(fā)階段使用AB包,如果只是做測試,那么AB包的位置是可以隨便打的。如果想要隨包體打包出去,那么就放在StreamingAssets文件夾下。然后發(fā)布后再移動到persistentDataPath。
三、幾個平臺下的Application路徑區(qū)別
3.1 Windows平臺
Windows平臺這幾個Application路徑都可讀可寫。沒什么限制。用啥API讀寫都可以。
3.2 Android平臺
這個平臺和Windows不一樣,對于文件的讀寫有所限制。
dataPath是app安裝包路徑,如果你在打包到Windows平臺后仍然是可以隨便讀寫,但Android不行。不支持讀寫。
streamingAssetsPath,在Android下,該目錄下的文件被壓縮到一個單獨(dú)的.jar文件(類似于zip壓縮文件),只可通過WWW或者新版UnityWebRequest讀取壓縮文件中的數(shù)據(jù)。寫入需要通過第三方壓縮或者解壓類庫實(shí)現(xiàn),不能簡簡單單的通過IO庫完成。
persistentDataPath路徑,當(dāng)應(yīng)用程序初次安裝到IOS和Android平臺,這個路徑會指向一個公共的路徑,并且不能跨App訪問。應(yīng)用更新、覆蓋安裝時(shí),這里的數(shù)據(jù)都不會被清除??勺x可寫。
temporaryCachePath,當(dāng)應(yīng)用程序初次安裝到IOS和Android平臺,這個路徑也會指向一個公共的路徑。應(yīng)用更新、覆蓋安裝時(shí),這里的數(shù)據(jù)都不會被清除,手機(jī)空間不足時(shí)才可能會被系統(tǒng)清除??勺x可寫。
3.3 IOS平臺
IOS除了dataPath不能寫入,其他和Windows平臺一致。
四、總結(jié)
總之就是推薦使用persistDataPath,每個平臺都是可讀可寫。streamingAssets在安卓平臺必須使用UnityWebRequest等類讀取。DataPath在安卓平臺無法讀寫,不推薦使用。文章來源:http://www.zghlxwxcb.cn/news/detail-576349.html
具體的各平臺路徑可以參考這位的博客(73條消息) Unity 各平臺Application.xxxPath的路徑_香草萌萌茶的博客-CSDN博客_application.datapath的路徑文章來源地址http://www.zghlxwxcb.cn/news/detail-576349.html
到了這里,關(guān)于Unity加載資源時(shí)的常用路徑或文件夾的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!