AB增量打包问题

发布于 2017-01-03 01:02:01 字数 764 浏览 1217 评论 8

两次打包,文件均未有改动,但是bundle的内容会有变化,用解包工具看,感觉是里面包含的脚本的内容有差异。manifest文件显示CRC和AssetFileHash有变化。 Bundle.zip 第一次打包为彻底打包,第二次为增量打包。

彻底打包流程如下: 1、Revert资源 2、Clear所有资源的BundleName 3、按照规则全部设置一遍BundleName 4、使用指令BuildPipeline.BuildAssetBundles(outputPath, abBuilds, BuildAssetBundleOptions.ChunkBasedCompression, EditorUserBuildSettings.activeBuildTarget);进行打包 5、生成文件对应BundleName的映射表

增量打包流程如下: 1、Revert资源 2、Clear所有资源的BundleName 3、按照映射表设置资源BundleName 4、按照规则将其余资源设置BundleName 5、使用指令BuildPipeline.BuildAssetBundles(outputPath, abBuilds, BuildAssetBundleOptions.ChunkBasedCompression, EditorUserBuildSettings.activeBuildTarget);进行打包 5、生成文件对应BundleName的映射表

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(8

浮生未歇 2020-09-05 03:04:57

继承Mono的脚本挂在GameObject上,修改脚本后,再次打包,AssetBundle变化。这个我们也遇见了,现在都尽量不继承Mono了。如果用了宏的,切换到不同宏下,打包的AssetBundle也是会变。总之一句话,Mono变化了,且挂在GameObject上,会引起打包的AssetBundle变化。如果真的要挂Mono,可以动态挂载上去。

清晨说ぺ晚安 2020-04-07 05:49:16

多谢哈,第一个问题知道了,第二个问题我想到的就是reimport all了

夜无邪 2020-03-26 19:08:24

说一下第一个问题:Addressable是支持增量加载的。Addressable进行远程加载的时候是使用的UnityWebRequestAssetBundle.GetAssetBundle(url)来下载AssetBundle,在UnityWebRequestAssetBundle是内部支持Caching的,所以当你的AssetBundle已经下载到本地进行缓存过,UnityWebRequestAssetBundle在、再加载同一个AssetBundle的时候就自动从本地进行加载了,具体情况可以查看官方文档
预先下载的思路大致如下:
在Addressable Settings里面将Disable Catalog Update on Startup勾选上,这样就可以在第一次更新的时候手动判断远程的Catalog是否有更新。如果获取到远程的Catalong有更新之后,再根据刚刚更新的Catalog来下载AssetBundle了。推荐一下黄程大神写的文章,Addressable系统解析及实践经验

image.png

上面的代码在Unity编辑器里面跑的时候,那个percentage会各种诡异,有时候会在某一个百分比停留N多时间,不知道是不是Addressable的bug。没有试过在真机上跑,所以不确定是不是编辑器独有的问题。

灵芸 2019-06-06 21:41:11

问题找到了,主要是我们打包之前,还对UI的Prefab做了一次预处理,会为某些控件增加脚本组件,由于这个修改后的prefab是不上传的,每次这个操作都会去做,并且每次增加的脚本组件分配的FileId不同,导致每次文件都会有差异。这块检查时疏忽了。
另外,和Unity官方确认过了,Unity5.X以后,BuildAssetBundleOptions.DeterministicAssetBundle是默认选项,不需要特意在去加了

灵芸 2019-01-17 06:20:46

感谢您的解答,不过还不是我遇到的这个问题,我是Mono的脚本并没有任何修改,所以很疑惑

浮生未歇 2018-03-06 18:16:20

没修改都会变化啊,用这个试试 BuildAssetBundleOptions.ChunkBasedCompression| BuildAssetBundleOptions.DeterministicAssetBundle

虐人心 2017-11-21 10:19:56

说出来你可能不信
Library

虐人心 2017-01-30 12:09:52

既然每次都会做预处理,那具体的解决方法是什么呢,能不能说下,我现在也有这个烦恼,MD5老是变

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文