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