1.resources 和 streamingAssets 文件夾的區(qū)別
?我在用了unity3d有一段時(shí)間后哨颂,在研究AssetBundle及播放音頻的時(shí)候瓷患,總算是弄清了他們的區(qū)別。當(dāng)時(shí)是想播放一段音頻塑猖,于是我把資源放在StreamingAssets目錄下竹祷,用WWW加載a.ogg,然后并沒有得到我想要的結(jié)果羊苟。但是放在Resources目錄下面塑陵,Resources.Load()卻能播放。后來經(jīng)過研究蜡励,終于知道了這么幾個(gè)概念的意思令花,也就清楚了前面為什么不能播放阻桅。
要說明這個(gè)原因,首先說一下AssetBundle兼都。很多人應(yīng)該知道這是unity3d里面用來打包資源的嫂沉,支持的格式有限,如文理扮碧、音頻趟章、二進(jìn)制、文本等慎王。像一些.cs文件蚓土、.mp4文件是沒法打包的。Resources目錄下的資源在打包之后赖淤,也會(huì)生成AssetBundle蜀漆,只是Resources下的資源會(huì)被系統(tǒng)自動(dòng)處理。
那AssetBundle到底是什么呢漫蛔?其實(shí)可以把它簡單看成是一個(gè)資源集合嗜愈,必須用WWW類來進(jìn)行讀取,而Resources可以看成是一個(gè)特殊的WWW莽龟,只能對于Resources目錄的資源蠕嫁。而WWW讀取的內(nèi)容也必須是AssetBundle,所以一個(gè)單獨(dú)的ogg文件無法用WWW讀取毯盈,必須先打包成AssetBundle剃毒,才能用WWW讀取。
? ? StreamingAssets又是什么呢搂赋?這是個(gè)Raw目錄赘阀,里面的內(nèi)容不會(huì)加密、編碼脑奠。比如png基公、ogg、AssetBundle文件宋欺,原來什么樣轰豆,打包就是什么樣。要使用這些文件的話齿诞,必須用對應(yīng)的類來訪問酸休,如AssetBundle用WWW類,mp4用播放器插件加載(包括解析)祷杈,用WWW加載mp4是不行的斑司,因?yàn)樽R(shí)別不出來。
2.unity中的特殊文件夾