AssetBundle打包

AssetBundle打包方案主要基于以下幾方面考慮:

  1. 資源的歸類劃分,方便資源加卸載
  1. 避免重復打包重復加載
  2. ab包粒度大小

AssetBundle打包時能夠解決依賴關系。比如對Prefab A打ab包,會遍歷所有引用到的資源,如果任一資源沒有獨立打包,那么該資源會被打進ab包中。基于以上考慮,我們在打包時首先對prefab分類設置打包,然后對于一些公用的資源設置獨立打包。從加載特性和資源類型上來說,要設置ab打包的資源主要分為三大類:

歸屬明確的Prefab :

  1. audio --以單個音效為單位打包
  1. ui --以panel為單位打包,同個panel的ui prefab打進同一個ab包
  2. model --以單個卡牌為單位打包,關聯(lián)音效動作打進同一個包
  3. skill --以單個技能為單位打包

公用資源:

  1. ui圖集 ui prefab的公用資源
  1. 公用貼圖打包 (特效會存在很多復用貼圖,需要獨立打包) ps:目前這個還沒做

動態(tài)資源:

  1. 動態(tài)使用的ui prefab
  1. 動態(tài)使用的skill 相關prefab、model相關prefab、ui相關prefab
  2. panel公用的ui prefab --沒有靜態(tài)依賴的包依賴關系,劃分為動態(tài)資源

對于歸屬明確的prefab,有比較明確的使用點,全部采用動態(tài)加載ab包的方式。對于公用資源,不需要主動加載,在加載ab包時,會通過引用關系加載引用到的公用資源ab包。對于動態(tài)資源,使用時間不明確,歸屬分散,資源量不大,目前采用預先加載的方式。

目前的打包方案是一步一步進化而來的,從加載和使用角度定制的方案,還不夠統(tǒng)一和純粹。比如對于不同類型的資源有不同的細節(jié)規(guī)則,這樣就不好統(tǒng)一管理ab包和資源加卸載。另外并沒有對所有資源進行打包,這樣難免會造成部分公用資源重復打包和重復加載。未來希望能夠繼續(xù)對打包方案進行優(yōu)化,有更加統(tǒng)一完整的方案。

目前我們項目Resource目錄下還有一些場景加載用到的資源、以及一些字體資源,后面也考慮放到ab包,做到Resource目錄比較干凈。

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

相關閱讀更多精彩內容

  • 了解了Unity的打包方式以后,還需要面對一個問題,怎么組織我們的資源。是一個資源打一個包,還是多個文件打成一個包...
    carber閱讀 1,267評論 1 6
  • 上周介紹了Unity項目中的資源配置,今天和大家分享一個AssetBundle打包工具。相信從事Unity開發(fā)或多...
    carber閱讀 6,615評論 14 20
  • 翻譯:莫銘原文地址:AssetBundle usage patterns 本系列中的上一篇文章覆蓋了AssetBu...
    莫銘閱讀 5,701評論 1 12
  • 當全世界充滿成功學,充滿心靈雞湯,充滿考公、考研理論的時候,我們忙著往前跑,是否還知道為何需要努力? 網...
    G鷥閱讀 375評論 0 0
  • AndroidManifest.xml style.xml MVP.gradle app.gradle activ...
    呵鯤閱讀 344評論 0 0

友情鏈接更多精彩內容