Epic Games 的 Unreal Engine 4 是一个强大的工具,可以创建任何类型的游戏甚至应用程序,但实现的自动化和构建系统几乎没有任何好的文档可以参考。这篇文章将展示如何使用虚幻自动化工具 (UAT)来 构建、Cook和打包游戏,并将简要的概述一些隐藏的工具。
在我们开始深入研究自动化系统之前,我们需要定义一些术语。我们将要使用的中心工具是虚幻自动化工具 (UAT)。除了构建和打包应用程序之外,该工具是引擎内部任何类型自动化的主要入口点。UAT 支持命令行开关,通常是在引擎生态系统中运行的一组命令。UAT 使用位于 Engine/Build/BatchFiles 中的脚本启动(*.sh for linux,*.command for mac 和 *.bat for Windows)。对于 UAT,这将是 RunUAT 脚本。附加 -list 会返回可用命令的列表。可以使用 -help 可检索有关 UAT 的更多信息。
了解 UAT 在哪种类型的Engine上运行非常重要。共有三种不同的Engine类型,它们需要对命令行进行一些更改,具体取决于所使用的类型。
第一个也是最常见的引擎类型是所谓的 Rocket build。当您通过 Epic Games Launcher 安装引擎时,您将获得Rocket build。这是引擎的预构建、即用型版本。根据您在启动器中选择的选项,它包含为所有桌面应用程序和移动目标打包项目所需的所有依赖项。
接下来一种引擎类型是从源代码编译而来。这种构建类型是您从 GitHub 克隆或下载虚幻引擎的 repository 时获得的。这是最通用的引擎类型,因为可以更改和重新编译引擎的源代码。虽然这种引擎类型是最通用的,但它需要编译所有内容,通常需要 15-60 分钟,具体取决于所使用的系统,并且占用的大小是预构建引擎的 4 倍以上.
最后一个工具就是我们所需要的进行自动部署的工具 Unreal Build Tool (UBT),它是在引擎内部构建源代码的主要工具。当尝试仅使用 UAT 打包项目时,由于缺少项目的编辑器 dll,它将失败(在项目的干净版本上)。要创建缺少的 dll,我们需要使用 UBT 为我们的项目构建编辑器目标。接下来是操作步骤:
在我们启动 UAT 之前,我们首先需要为我们的项目编译编辑器目标,以获取我们的编辑器 dll 的最新版本。为了构建这些 dll,我们在开发配置中为我们的操作系统(例如 Win64)的项目编辑器目标运行 UBT:
Build/BatchFiles/Build.bat <ProjectName>Editor Win64 Development <PathToProjectFile>.uproject -WaitMutex
对于干净的构建,可以在构建脚本之前运行 Clean 脚本,也可以使用 Rebuild 脚本代替构建脚本。-WaitMutex 开关告诉构建工具等待此 UBT 实例的全局互斥锁。如果 UBT 当前在别处使用,则省略此开关会使 UBT 返回错误。
使用 UAT 中的 BuildCookRun 命令行开关可以使用完整的打包过程。正如命令行开关的名称所暗示的,这是一个由三部分组成的过程。
该过程的完整命令行如下所示:
call Engine\Build\BatchFiles\RunUAT.bat" BuildCookRun -Project="<ProjectPath>.uproject" -NoP4 -NoCompileEditor -Distribution -TargetPlatform=Win64 -Platform=Win64 -ClientConfig=Shipping -ServerConfig=Shipping -Cook -Map=List+Of+Maps+To+Include -Build -Stage -Pak -Archive -ArchiveDirectory=<ArchivePath> -Rocket -Prereqs -Package
让我们逐一来看:
请注意,所有开关都不区分大小写(当然区分大小写平台上的路径除外)。
上面的开关和参数集合是打包一个准备运行的应用程序的坚实基础,完全足够了。
有了所有这些信息,应该很容易成功地将引擎部署集成到您的自动化流程中。
本文翻译自:https://blog.mi.hdm-stuttgart.de/index.php/2017/02/11/uat-automation/
本文分享自 HelloWorld杰少 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有