Unity擴展 AssetBundle 增量式打包


項目后期 AB資源眾多 全量打包導致太過費時. 於是擴展打包方法,自動化選取和增量式,局部打包

 

Asset菜單擴展出4個選項 

1 查找過期文件 (只遍歷所有資源文件后輸出結果 不打包)

2 編譯所有包文件 (全量打包)

3 僅編譯過期包文件 (基於1結果執行增量編譯 輸出到StreamingAsset目錄)

4 編譯選中的包文件 (基於當前選中的資源文件 進行遍歷和遞歸挖掘相關同AB資源 打包后輸出到StreamingAsset目錄)

 

2 3 選項同步更新到jenkins打包配置項目中.對應(2全部編譯 ,3增量編譯)

如果需要編譯指定AB 可以在本機上執行4號操作 上傳AB文件即可

 

 

 

后續優化提速方向

根據嚴格的項目路徑和AB資源管理辦法.可以使用資源目錄級別的集合分選,降低遍歷所有資源文件導致的時間開銷

例如  

DirectoryInfo Dir = new DirectoryInfo(Application.dataPath + "/08.Database/template");
        foreach (FileInfo f in Dir.GetFiles("*.xml", SearchOption.TopDirectoryOnly)) //查找文件
        {
            string AssetPath = Path.Combine($"Assets/08.Database/template", f.Name);
            //Debug.Log(" asset資源 " + AssetPath);
            AssetImporter ai = AssetImporter.GetAtPath(AssetPath);
            if (ai.assetBundleName == v)
                bundleToUpdate["template"].Add(AssetPath);
        }
        return bundleToUpdate;

 只對template 模板表目錄下的所有xml文件打包成為 template.ab 只需要最短的執行時間

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM