本帖目的:针对近期学习 VR 游戏项目打包过程的一个总结(新人第一次发帖~)
参考链接:
打包项目 https://docs.unrealengine.com/latest/CHN/Engine/Basics/Projects/Packaging/index.html
修补项目 https://docs.unrealengine.com/latest/CHN/Engine/Deployment/Patching/index.html

本文基于虚幻 4 引擎进行项目打包/发布/补丁制作的,官网上有相关篇幅对其进行介绍,不过对照学习过程中也是磕磕绊绊,所以结合自己练手项目总结出一份通俗易懂的发布流程,供大家参考~

【打整包具体流程】
1.打包前要先将项目路径冲突文件进行清理再更新;
2.删除 G:\vr\trunk\UnrealEngine-4.11\Engine\Build 路径下的 Rocket.txt 和 InstalledBuild.txt 这两个文件(避免引擎编译过程报错);
3.编辑 G:\vr\trunk\Tank\Config\DefaultGameUserSettings.ini 配置文件中的关于分辨率 sg.ResolutionQuality 的修改(项目运行对硬件配置要求较高,目前尝试出 1 1 1 4 4 1 配置既能满足渲染效果又能提升帧率)
(极高:100 高:76 中:50 低:25)
4.打开编译器 设置→项目设置→地图&模式→Editor Startup Map 和 Game Default Map 两张地图进行修改(一个是启动编辑器地图,另一个是进入游戏默认地图);
5.打开编译器 设置→项目设置→打包,选择对应三个版本 DebugGame(Release 版),Development(Product 版),Shipping(发布版);注意勾选 Use Pak File 打成整包不然会生成散包文件;
6.在编译器中打开文件→打包项目→windows→windows 64(基于 Windows 64 位系统打包),所有编译成功无报错则完成打包。出现错误或警告提示可在 Message Log 查看。(咱技术不行报错信息能看懂些但是解决不了,报错后只能寻求开发人员解决)。

【发布具体流程】
整包可以不打,直接发布,具体操作如下(我一般先打个整包留作备份_):
1.窗口——项目启动程序——在自定义启动概述文件中点击右侧的 + 弹出具体设置项页面;
2.最好能够依次填写,便于自己对此包体发布的理解:
A.发布描述;
B.选择自己打包的项目如 Myproj.uproject;
C.版本配置根据实际需要选取,如我当前需要打一个 Development 配置;
D.烘焙设置的选项比较多,通过按照惯例逐一设置:
a.烘焙的平台选择 WindowsNoEditor
b.烘焙的语言选择 en-us
c.烘焙的地图根据实际需要进行选择
d.发布版本/可下载内容/补丁设置,这块要注意,如果是第一次发布只需要勾选【创建一个该游戏的发布版本进行发布】;
要创建的新版本的名称即可作为版本号进行管理如 20160816(这地方必须要填写,后面打补丁会基于此进行比对生成补丁文件)
第一次发布不需要勾选其他选项
e.高级设置需要勾选压缩内容、保存无版本的包和在单个文件中存储所有的内容(UnrealPak),烘焙器编译配置根据版本配置统一;
f.包 选择打包&存储在本地
g.部署 暂时不要部署
F.设置完成后返回,点击启动此概述文件进行打包编译直至完成。
注:发布完成后会在 H:\TestProject\Myproj\Saved\StagedBuilds 生成新文件,原有文件会在发布过程被清理掉。所以此处内容(XXX.pak)要备份下。

【补丁版本制作流程】
其实补丁操作步骤和发布差不多的,测试状态下如将蓝图做了简单调整后,编译后保存进行补丁制作。
1.窗口——项目启动程序——在自定义启动概述文件中点击右侧的 + 弹出具体设置项页面;
2.最好能够依次填写,便于自己对此补丁的理解:
A.发布描述
B.选择自己打包的项目如 Myproj.uproject
C.版本配置根据实际需要选取,如我当前需要打一个 Development 配置
D.烘焙设置的选项比较多,通过按照惯例逐一设置:
a.烘焙的平台选择 WindowsNoEditor
b.烘焙的语言选择
c.烘焙的地图根据实际需要进行选择
d.发布版本/可下载内容/补丁设置,打补丁时同样需要注意:这个基于的发布版本:20160816,既是上一个发布版本名称,勾选生成补丁(其他选项无需勾选);
其他同上。

【局域网与广域网打包设定】
使用程序提供的插件进行编译:
Development-包或补丁客户端.exe;
Development Editor-编译.dll 文件;
Development Server-编译服务端.exe:
服务端生成的.exe 需要创建一个快捷方式,加上一个 -log 命令行如
F:\vr\trunk\Tank\Saved\StagedBuilds\WindowsNoEditor\Tank\Binaries\Win64\TankServer-Win64-DebugGame.exe -log,双击运行后可游戏运行查看日志文件。

生成的文件拷贝到指定位置后再运行:
(1)更新 VR 资源后,打开 TankOnly.sln,点击那个齿轮状的按钮;
(2)弹出如下界面(每次只能保留一个用来编译,不要同时存在 2 个否则编译过程会冲突报错)

(3)生成.dll 文件在 F:\vr\trunk\Tank\Binaries\Win64 路径下;

1、整包默认发布版本为广域网(0:广域网),生成 WindowsNoEditor 目录;
2、手动拷贝 F:\vr\trunk\Tank\CustomConfig 目录至版本 Tank 目录内(发布出来的版本是不带有此配置文件的)
3、运行 F:\vr\trunk\Tank\TankOnly.sln,修改 F:\vr\trunk\Tank\Source\Tank 路径下 Tank.Build.cs 中 UE_TANKLAN 为 1(0:广域网 1:局域网)
编译前注意模式选择为 development,win64 位;
右侧选中 Tank 进行 Build,生成新的.exe 在 F:\vr\trunk\Tank\Binaries\Win64\下,将 Tank.exe 改名为 TankLan.exe 并拷贝至版本 EXE 所在目录(WindowsNoEditor\Tank\Binaries\Win64)。
这样根据实际需求可进行广域网测试(使用 Tank.exe)或局域网测试(TankLan.exe)。


至此,项目整包/发布/补丁制作已完成,基础的测试包可以正常运行了。包体打完后一定要发布,不然无法生成版本号,之后的补丁内容无法进行比对。
我这面大致流程就是打包——>发布——>补丁——>发布。
以上基于公司内部项目进行制作学习,文中提到的流程可能会与实际有出入,此文仅供参考~~


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