前言

前段时间梳理分享过 VR 项目整包发布与补丁制作方法,可参考https://testerhome.com/topics/5702

在实际测试过程中 90% 以上都是通过打整包的方式出包、运行,能够满足日常测试需求。


背景

目前项目根据研发计划稳步推进中,而制作过程也在不断新增内容,不过在打包时发现耗费在烘焙内容和打包内容上的时间正慢慢增加。

联想到之前做端游测试期间,项目发布后如果有内容或配置上的修改,可以通过补丁方式更新获取,于是问题来了:VR 项目的补丁怎么整?补丁包体大小是否有限制?


方案 1

第一个问题在 topic5702 中已经得以解决,关键点在于“创建一个该游戏的发布版本以进行发布”、“要创建的新版本的名称” 和 “这个基于的发行版本”,如图所示:

发布时记得填写新版本名称(即发布版本号),补丁制作基于发布版本号!如图所示:

补丁已经打出来了,问题也跟着来了:补丁生成的.pak 文件大小几乎等于整包发布时生成的.pak 文件大小(大概 2.23G)!!!!那么补丁的存在就没什么意义了。修改内容后直接更新出个整包文件得了~~

方案 2

方案 1 显示满足不了补丁存在的意义,后来通过尝试修改部分蓝图或配置文件,在改动较小的前提下打出一个补丁,加以验证补丁包体中到底包含哪些内容。
在同等配置的条件下,补丁大小和内容经过整包与散包对比,发现修改内容较少时打出的包体 345M,包含 Assets、BaseMaterials、Blueprints 等 11 个文件内容,如图:

虽然补丁包体大小从 2G 左右降到 300M 左右,但是这么一个小小改动居然产出 300+M 的补丁文件,不能忍!(这还不是最优方案,就不贴图了)

方案 3

通过散包文件发现打进补丁中的有 11 个文件,而实际上我只对其中一个文件夹中的某个文件做了修改,为什么会把其他不相关的内容也打进补丁中呢?似乎、好像、貌似找到点切入点了:补丁中包含一些无用文件!!而且有的文件占用空间比较大(比如 maps)。。

前面废话了那么多,现在终于轮到 “主角” 登场了:Directories to never cook,如图所示:

打包设置项中这块是对整包\补丁制作过程中,不相关文件夹剔除设定。那么实际在打包过程中只将改动的内容打进补丁中了!通过一个小补丁试了一下,补丁包体大小的确降到 200K 以内,如图所示:

注:不过在修改内容较大的地方如修改 maps 文件时,补丁包体偏大是正常的(因为地图文件本身就是个大文件)


结束语

或许我尝试出的方案并不是最优方法,不过也解决了目前工作过程出现的问题。也希望更多的人加入 VR 游戏测试研究中,进一步完善现有的流程与方式~~

不过我也在想既然可以剔除不相关的文件内容,那么为什么不能只打进修改的内容呢?

Additional Asset Directories to cook,我尝试过只是解决了打包过程 C++ 引用的文件而蓝图中未引用,导致包体内容缺失的问题。

可能我的方向不对,没有找到正确的方法,希望大牛能够解决这个问题..


↙↙↙阅读原文可查看相关链接,并与作者交流