天天看點

Unity4.X AssetBundle工具BundleManager

在Unity 4.x版本中,當需要打包成AssetBundle的資源存在層級引用的時候,需要使用BuildPipeline.PushAssetDependencies等相關函數将資源拆分并建立引用關系,然後在加載的時候按照相反的順序,先加載依賴檔案,再加載目标檔案的順序,将資料還原出來,并自動關聯好引用關系。在此過程中第一個加載的檔案不能調用AssetBundle.UnLoad(false),即在該過程中,會一直有第一個檔案的記憶體映射備援在記憶體中,這對于寶貴的手機記憶體來說是十分緻命的。當然我們也可以自我管理引用關系來規避這種備援。

現有項目是使用BundleManager 插件,在此基礎上添加MD5,用于資源更新和熱更新從伺服器下載下傳檔案時做資源對比。同時在次基礎做了一些貼合項目的友善操作。

1.實作了不同平台不同的BundleData檔案,來滿足不同平台打包上的差別

2.實作了小圖示是,有資源更新後,帶有感歎号的黃色三角形來做更新提醒

3.為了打包友善,實作快捷使用按鈕,策劃管理打包,管理美術資源進入項目

源碼代碼:https://github.com/zhutaorun/SomeTips/tree/master/Assets/BundleManager

最新代碼明天更新上去

參考來源: http://blog.uwa4d.com/archives/AB4-x.html

             http://blog.uwa4d.com/archives/ABtopic_1.html

官方API:https://docs.unity3d.com/500/Documentation/Manual/BuildingAssetBundles.html

繼續閱讀