Unity3dAssetbundle創(chuàng)建與加載

Assetbundle創(chuàng)建與加載

Unity有兩種動(dòng)態(tài)加載機(jī)制:一種是Resource.Load。一種是AssetBundle。Assetbundle是Unity Pro提供的功能,它可以把多個(gè)游戲?qū)ο蠡蛘哔Y源二進(jìn)制文件封裝到Assetbundle中。供加載、解壓使用。

創(chuàng)建Assetbundle

使用方法?BuildPipeline.BuildAssetBundle (Object, assets , pathName , options , targetPlatform)

參數(shù)1:它只能放一個(gè)對(duì)象。

參數(shù)2:可以放入一個(gè)數(shù)組對(duì)象。

參數(shù)3:保存路徑。

參數(shù)4:BuilderAssetBundleOptions

CollectDependencies //?包含所有依賴關(guān)系。

CompleteAssets//強(qiáng)制包含整個(gè)資源

DisableWriteTypeTree//在資源包不包含類型信息。

DeterministicAssetBundle//編譯資源包使用一個(gè)哈希表儲(chǔ)存對(duì)象ID在資源包中。

UncompressedAssetBundle//不壓縮Assetbundle,默認(rèn)會(huì)進(jìn)行壓縮

參數(shù)5:平臺(tái)

特別注意的是,電腦上和手機(jī)上打出來(lái)的Assetbundle不能混用,不同平臺(tái)只能用自己的。

載入Assetbundle

使用方法:

1)WWW bundle = new WWW(path);

2)WWW bundle = WWW.LoadFromCacheOrDownload(path, fileVer);

載入成功后就可以通過(guò)資源名使用bundle.assetBundle.Load方法獲取資源。

如下圖所示

使用Assetbundle.Load會(huì)從Assetbundle的內(nèi)存鏡像中讀取并創(chuàng)建一個(gè)Asset對(duì)象,創(chuàng)建的同時(shí)會(huì)分配相應(yīng)的內(nèi)存用于反序列化存儲(chǔ)。

內(nèi)存釋放

最后在使用Assetbundle時(shí)候最好的方式是。

創(chuàng)建時(shí):使用Assetbundle.load加載所需的asset,加載完后立即Assetbundle.Unload(false),釋放Assetbundle文件本身的內(nèi)存鏡像,但不銷毀加載的Asset對(duì)象。這樣遍可以釋放一部分內(nèi)存。

釋放時(shí)。如果是通過(guò)Instantiate的對(duì)象,用Destroy進(jìn)行銷毀。在合適的地方使用

Resources.UnloadUnusedAssets,釋放已經(jīng)沒(méi)有引用的Asset。Unity底層會(huì)對(duì)對(duì)象引用進(jìn)行計(jì)數(shù),如果引用為0.執(zhí)行

UnloadUnusedAssets就可以全部釋放。

使用要點(diǎn)

1、AssetBundle會(huì)使用Lzma壓縮。

2、Resource下的資源發(fā)布時(shí)會(huì)變成resources.assets文件,2G磁盤(pán)大小限制。首次完全下載,不可更新。

3、AssetBundle的本地磁盤(pán)緩存可多達(dá)4G,除了Web版只能50M。

4、兼容性。

5、AssetBundle創(chuàng)建方法:

6、BundleOption的區(qū)別。

7、AssetBundle.CreateFromMemory()速度慢。

8、AssetBundle.CreateFromFile只能加載非壓縮的AssetBundle。

9、LoadLevel方法詳解:

10、AssetBundle的釋放。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容