Unity5新的AssetBundle系統使用心得

2021-07-08 18:27:21 字數 2294 閱讀 9786

原先的assetbundle系統需要自己寫一大坨匯出的**(buildpipeline),這個新手會無從下手,老手也經常會被坑到。想正確處理好資源的依賴關係從而保證資源完整而又不會產生重複資源,確實不是一件非常容易的事情。       

驗證、包之間的依賴關係等等,是乙個文字檔案。載入資源的時候unity會自動處理好其依賴包的載入。

(其實也沒什麼必要了,因為流程固定了,做成內嵌的選單選項也沒什麼影響)

.buildassetbundles(outputpath);

執行這個

,它會自動打包工程目錄下的所有的assetbundle,函式足夠智慧型,它只會打包有修改的資源。

如何新增乙個assetbundle呢?

很簡單,在資源屬性視窗底部有乙個選項,這個地方設定assetbundle的名字。它會修改資源對應的.meta檔案,記錄這個名字。 assetbundle的名字固定為小寫。另外,每個assetbundle都可以設定乙個variant,其實就是乙個字尾,實際assetbundle的名字會新增這個字尾。如果有不同解析度的同名資源,可以使用這個來做區分。

prefab的meta檔案,新增assetbundle名字。有乙個需要注意的地方就是.meta檔案貌似許可權問題,無法直接寫入,需要刪除原檔案,然後使用新的檔案替換。。

**功能一樣,喜歡哪個用哪個)

public class exportassetbundles : editor

; editorutil.walk(path, extlist, dosetassetbundlename);

assetdatabase.refresh();

debug.log("assetbundlename修改完畢");

}static void dosetassetbundlename(string path)

ret.add(line);

}fs.close();

file.delete(path);

streamwriter writer = new streamwriter(path + ".tmp");

foreach (var each in ret)

writer.close();

file.copy(path + ".tmp", path);

file.delete(path + ".tmp");

}[menuitem("tools/createassetbundle")]

static void oncreateassetbundle()

}

Unity5的AssetBundle的一點使用心得

如果你覺得自己對assetbundle不熟悉,建議先看看另外一篇文章 先來說說關於舊版本的assetbundle的事情。在載入的時候,由於我們是預先記錄了各個資源的依賴關係,所以在載入某乙個資源的時候,先去儲存的檔案裡面查詢它的依賴關係,把所有用到的依賴資源都先載入一次,然後再載入它,就能完整的載入...

Unity5的AssetBundle的一點使用心得

如果你覺得自己對assetbundle不熟悉,建議先看看另外一篇文章 先來說說關於舊版本的assetbundle的事情。在載入的時候,由於我們是預先記錄了各個資源的依賴關係,所以在載入某乙個資源的時候,先去儲存的檔案裡面查詢它的依賴關係,把所有用到的依賴資源都先載入一次,然後再載入它,就能完整的載入...

Unity5自動命名Assetbundle並打包

using unityengine using system.collections using unityeditor using system.io 把resource下的資源打包成.unity3d 到streamingassets目錄下 public class builder editor ...