您好,登錄后才能下訂單哦!
剛學(xué)unity3的人,肯定會對這兩個目錄非常困惑,知道他們都是只讀的、Resources會加密,StreamingAssets不加密,但是在使用上到底有怎樣的不同,卻不太說得清楚。
我在用了unity3d有一段時間后,在研究AssetBundle及播放音頻的時候,總算是弄清了他們的區(qū)別。當(dāng)時是想播放一段音頻,于是我把資源放在StreamingAssets目錄下,用WWW加載a.ogg,然后并沒有得到我想要的結(jié)果。但是放在Resources目錄下面,Resources.Load()卻能播放。后來經(jīng)過研究,終于知道了這么幾個概念的意思,也就清楚了前面為什么不能播放。
要說明這個原因,首先說一下AssetBundle。很多人應(yīng)該知道這是unity3d里面用來打包資源的,支持的格式有限,如文理、音頻、二進制、文本等。像一些.cs文件、.mp4文件是沒法打包的。Resources目錄下的資源在打包之后,也會生成AssetBundle,只是Resources下的資源會被系統(tǒng)自動處理。
那AssetBundle到底是什么呢?其實可以把它簡單看成是一個資源集合,必須用WWW類來進行讀取,而Resources可以看成是一個特殊的WWW,只能對于Resources目錄的資源。而WWW讀取的內(nèi)容也必須是AssetBundle,所以一個單獨的ogg文件無法用WWW讀取,必須先打包成AssetBundle,才能用WWW讀取。
StreamingAssets又是什么呢?這是個Raw目錄,里面的內(nèi)容不會加密、編碼。比如png、ogg、AssetBundle文件,原來什么樣,打包就是什么樣。要使用這些文件的話,必須用對應(yīng)的類來訪問,如AssetBundle用WWW類,mp4用播放器插件加載(包括解析),用WWW加載mp4是不行的,因為識別不出來。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。