新版AssetBundle使用

2021-08-03 23:30:11 字數 3604 閱讀 1449

ab流程

友情提示

設定assetbundle

從上述的說明感覺這個new出來的是乙個空資料夾識,在設定資源時這個資料夾的名字作為了標識來使用。而remove unused names按鈕就是一鍵刪除空資料夾。

**生成assetbundle

public class createassetbundles }

- 同時生成的manifest檔案包含一下內容:

- [crc](

- assetfilehash:assetbundle中所有asset檔案的hash,乙個單獨的hash。只用來做增量build時的檢查。

- typetreehash:assetbundle中所有型別的hash,只用來做增量build時的檢查。

- classtypes: assetbundle中包含的所有類型別,這些資料用來得到乙個新的單獨的hash當typetree做增量build檢測。

- asset names.所有在assetbundle中的asset的名稱。

- dependent assetbundle names. assetbundle所依賴的其它assetbundle的名字

- 這個manifest檔案只是用來做增量build的,非執行時必須。

- 放乙個自己的測試資料

做了個小測試,新增了兩個新的assetbundle,名字也不一樣,每次新增這個檔案的內容跟著變,並且crc也在變。

manifestfileversion: 0

crc: 2591254959

assetbundlemanifest:

assetbundleinfos:

info_0:

name: cube

dependencies: {}

info_1:

name: scene

dependencies:

dependency_0: sphere

dependency_1: capsule

info_2:

name: sphere

dependencies: {}

info_3:

name: capsule

dependencies: {}

繼續小測試,把capsule的assetbundle從capsule改為sphere。果然只是簡單記錄了下目錄中的assetbundle資訊。

manifestfileversion: 0

crc: 3856405611

assetbundlemanifest:

assetbundleinfos:

info_0:

name: cube

dependencies: {}

info_1:

name: scene

dependencies:

dependency_0: sphere

info_2:

name: sphere

dependencies: {}

再次小測試,在ui的assetbundle設定中第一欄設定了多層次的名稱結果如下。而且從資料夾結構上看one和two都是兩個資料夾,而在two裡面則是乙個名為xx.three的檔案。

manifestfileversion: 0

crc: 2167406161

assetbundlemanifest:

assetbundleinfos:

info_0:

name: scene

dependencies:

dependency_0: sphere

info_1:

name: sphere

dependencies: {}

info_2:

name: one/two/xx.three

dependencies: {}

shader剝離(shader stripping)

引擎**剝離

using unityengine;

using unityeditor;

namespace assetbundles}}

幾個小工具**

using unityeditor;

using unityengine;

public class getassetbundlenames

}

using unityengine;

using unityeditor;

public class mypostprocessor : assetpostprocessor

}

assetbundle變體

指令碼建議

typetrees

一些實驗

manifestfileversion: 0

crc: 519453993

assetbundlemanifest:

assetbundleinfos:

info_0:

name: xiong.assetbundle

dependencies:

dependency_0: baixiong.assetbundle

dependency_1: baixiongyachi.assetbundle

dependency_2: [email protected]

dependency_3: [email protected]

info_1:

name: baixiong.assetbundle

dependencies: {}

info_2:

name: baixiongyachi.assetbundle

dependencies: {}

info_3:

name: [email protected]

dependencies: {}

info_4:

name: [email protected]

dependencies: {}

Unity的AssetBundle使用總結

assetbundle作為unity引擎的資源載入管理和熱更新手段,在各大專案內普遍的使用著。assetbundle使用方式簡單,只要設定assetbundlename,然後打包出檔案,在執行過程中載入就可以使用,但很多細節上的問題,會影響實際使用的效果。之前我也寫過很多篇文章介紹assetbund...

面試 AssetBundle從打包到使用

選擇要打ab包的 prefab 檢視其 inspector 檢視,在下方有乙個 asset labels 小視窗,修改裡面的名字為想要打包成後的檔名,完成標記。unityeditor.buildpipeline.buildassetbundles outputpath,option,targetpl...

AssetBundle資源載入

一 第一種載入方式本地相對路徑資源載入 assetbundle ab assetbundle.loadfromfile assetbundle sphere.unity3d 本地載入相對路徑載入 載入ab包 gameobject cube ab.loadasset sphere 獲取ab包 inst...