在 亚马逊云科技 Thinkbox 截止日期前安排 Epic Games 的虚幻

这篇博文由Epic Games高级产品专家迈克尔·缪尔共同撰写。

Figure 01: Epic’s Unreal Engine main interface panel, showing a meerkat balancing on an eggshell in the main viewport. Also shown is a DeadlineDataAsset property panel, and a timeline view.

图 01:Epic Games 的虚幻引擎提供实时内容生成、操作和渲染。

简介

Epic Games 的虚幻引擎彻底改变了实时 3D 内容的创作和操作。随着虚幻引擎5中的Lumen和Nanite等技术的进步,沉浸式保真度和 真的交互体验的飞跃为从电视和电影到游戏再到建筑、工程和建筑(AEC)等行业提供了支持。

虚幻引擎的主要优势之一是美术师能够以或接近最终画质进行实时创作。但是,如果艺术家必须进行上下文切换并等待镜头渲染或其他工作流程完成,则实时工作流程的优势很快就会消失。亚马逊云科技 Thinkbox Deadline 是一款适用于基于 Windows、Linux 和 macOS 的渲染农场的混合管理和计算管理软件,可以帮助解决这个问题。它允许将渲染等流程转移到计算农场,从而让创作团队腾出时间专注于艺术挑战。

亚马逊云科技 Thinkbox很高兴与Epic Games合作,宣布推出一套涵盖各种功能的新插件。新的插件允许将渲染等通用项目任务直接从虚幻引擎中提交给 Deadline。通过新的 Deadline Job 预设资源类型,围绕提交内容的固有细节保留在项目中。由于支持虚幻引擎在 Deadline 之前远程执行影片渲染队列,用户可以快速提交队列以供本地、远程或基于云的工作人员处理。现在支持渲染和更广泛的自定义流水线处理功能,以通过一组新的 API 满足生产和工作流程需求。

我们很高兴能通过全新的 Deadline 插件从虚幻引擎内部向我们的 GPU 农场提交作品。 ” ——Rodeo FX 视觉特效主 管 P eter Nofz

Figure 02: The Unreal Engine interface, with the movie Render Queue shown. At the bottom of the Movie Render Queue panel, two blue buttons can be selected; one reads ‘Render (Local)’ and the other ‘Render (Remote)’. A new Deadline pane is shown to the right of the Movie Render Queue, with various render parameters visible.

图 02:提交截止日期的作品可以直接在虚幻引擎中提交。

UE5 插件的截止日期是简化渲染流程的一个令人兴奋(也是急需的)下一步! ” —
Aythan Maconachie,Glitch Productions 技术主管

截止日期设置

要使用插件将 Deadline 集成到虚幻引擎环境中,你需要满足以下条件:

  • 截止日期存储库 或更新版本的 10.3.0 版本安装。您可以 在此处 找到安装 Deadline 的说明 。
  • 虚幻引擎 艺术工作站用于生成和提交内容,至少运行虚幻5.2.0。如果虚幻的新版本需要重建插件,那么你还需要一个开发环境,比如 Visual Studio Code 2022。有关设置虚幻引擎进行开发的信息可以 在这里 找到 。
  • 在虚幻引擎艺术家工作站 上 安装和 配置的 D e@@ adline Client 软件 。本指南使用截止日期客户提交方法。

第 1 步:插件安装

虚幻引擎插件在 截止日期库 中提供 。这些需要复制到你的虚幻引擎项目中,将来你创建的每个新项目都需要重复这个步骤:

  1. 在你的虚幻项目文件夹中创建 “ 插件 ” 子文件夹。
  2. 前往安装的截止日期存储库,然后导航到虚幻引擎插件文件夹,该文件夹位 于 < 最后 期限存储库 >\ plugins\ UnrealEngine5\ UnrealEnginePlugins 中。
  1. UnrealDeadlinesServic e 和 MoviePipelineDead line 插件文件夹复制到每个项目的 “ 插件” 文件夹中。
Figure 03: A Windows folder is open, demonstrating both the MoviePipelineDeadline and UnrealDeadlineService folders copied from the Deadline Repository location into a DeadlineUE5Project project folder.

图 03:为虚幻引擎项目提供两个插件。

第 2 步:激活插件

将插件复制到项目文件结构中的文件位置后,启动虚幻引擎并加载该项目。确保 虚幻截止日期 服务和 电影流水线截止时间 插件都加载到虚幻引擎编辑器中:

Figure 04: Unreal Engine’s plugins window is loaded, showing that the user has filtered results with ‘Deadline’ so that Unreal Deadline Service and Movie Pipeline Deadline are the only plugins showing.

图 04:在虚幻引擎中设置最后期限插件。

  1. 从主菜单打开插件浏览器( 编辑 > 插件 )。
  2. 在搜索对话框中搜索 “ 截止日期 ”。
  3. 启用 虚幻截止日期 服务和 电影流水线截止时间 插件,然后重启编辑器。

当使用比构建插件时更新的虚幻引擎版本时,需要重新构建插件以匹配该特定版本;如果需要,请说 “ ”。

Figure 05: A typical Windows dialogue is open, showing what might happen if you need to rebuild the DeadlineService plugins to match the UnrealEngine version. The dialogue reads ‘The following modules are missing or built with a different engine version: DeadlineService. Would you like to rebuild them now?’ Yes is highlighted. No is also an option, but not the one we recommend.

图 05:构建与虚幻引擎版本相匹配的插件的视觉请求。

注意 :如果此过程失败,则可能的罪魁祸首是缺少开发环境——例如,缺少Visual Studio 2022。你需要使用此 链接 中的详细信息更新开发环境,使其符合虚幻引擎的要求 。您可以在 “ /Saved/Logs ” 文件夹中找到详细日志 ,以帮助诊断此类问题。

第 3 步:在虚幻中配置截止日期服务插件

截止日期服务 插件用于确定虚幻引擎和截止日期之间的通信环境。

要配置截止日期服务,请执行以下操作:

  1. 转到 “编辑” > “ 项目设置”
  2. 在浏览器中搜索 “ 截止日期 ” 以找到 插件—截止日期服务
Figure 06: The Plugins – Deadline Service window, showing the 3 main options under a header of ‘Deadline’: Deadline Command (checked), Deadline Host (blank), and Script Category Mappings (which reads 0 Map Elements. A plus sign and trash can are next to the Script Category Mappings value column.

图 06:截止日期服务选项。

启用 Deadline Command 选项是配置插件如何向 Deadline 传达提交信息的默认(也是推荐的)方法。另一种方法是使用主机地址通过 Deadline Web 服务进行通信,本博客未对此进行介绍。

配置好截止日期服务插件的基础知识后,你还可以选择在虚幻引擎中为脚本指定命名目录路径:

  1. 添加 脚本类别映射
  2. 输入描述将在运行 时由 截止日期数据资产 解析的目录的键值对。

步骤 4:使用数据资产节点设置截止任务预设

预设是 Deadline 作业提交的基础,在提交作业和任务之前,您必须创建预设。截止日期任务的配置使用新的 “De adlineJobPre setLibrary” 类作为数据资源存储在虚幻引擎项目中。数据资产节点允许您在此项目中为提交截止日期作业定义可重复使用的预设。这些详细信息可以包括作业名称、评论、可以处理该作业的工作人员 组和人才库 、框架范围以及其他附加信息。

要创建截止日期数据资产,请执行以下操作:

  1. 在内容浏览器中右键单击以创建 “ 其他” > “数据资产 ” 。
  2. 搜索 “deadlineJobPresetLibrary” 类。
  3. 命名新的 数据资产 来代表你想要做什么,例如 “basicDeadlineExport”。
  4. 展开 “ 作业选项” , 然后输入截止日期作业的作业详细信息。
  5. 为新的预设元素提供描述,例如 “从影片渲染队列中导出序列 ”。
Figure 07: A property panel showing a sample Job Preset. Various configuration parameters are listed, such as the plugin used, the batch name, the name, comment, department, etc.

图 07:截止日期数据资产用于指定截止日期作业配置的预设。

  1. 展开 作业信息 并输入截止日期作业的作业详细信息:
    • 批次名称 是正在提交的作业的通用名称。
    • 群组 是指分配给任务的 UE 资源组。
    • 是分配给任务的 UE 资源池。
    • 使用插件信息预设,您可以输入其他键/值对,供以后编程使用。 以下是两个必填条目和一个推荐条目:
    • 可执行文件 :您要处理任务的应用程序的路径,例如\ En gine\ Binaries\ Win64 \ UnrealEditor-Cmd.exe ProjectFile :要处理的项目文件的 路径,例如\ p
    • rojectFile.uProject CommandlineArguments
      • 是可选的,但非常有用。在此处查找虚幻引擎命令行参数 的完整阵列
  1. 保存 数据资产

此外,作业预设中的每个截止日期选项都有可 见性标志 。这允许团队领导在用户提交工作时向他们公开或隐藏特定选项。当用户提交作业时,他们仍然可以在提交者中编辑可见/显示的选项。有关更多详细信息,请参阅 “步骤 5a:通过影片渲染队列远程执行” 部分。

注意 :不支持在数值数据周围使用引号。

步骤 5:使用影片渲染队列进行渲染

安装 电影流水线截止日期 插件后,虚幻引擎可以在外部提交镜头和序列的 电影渲染队列 管道,以便通过 Deadline 进行渲染。由于 Movie Render Queue 中的渲染提供预热帧等功能,虚幻引擎创建的截止时间任务与队列项目相同,通常将整张镜头作为一项任务,而其他 3D 和 2D 应用程序通常按每帧级别安排任务。

要将截止时间配置为可用于 影片渲染队列 处理,请执行以下操作:

  1. 打开 “项目设置” > “ 编辑” > “项目设置”
  2. 搜索 “ 电影渲染管线 ” 以找到 插件 > 电影渲染管线
  3. 在 “ 默认远程执行器 ” 下 ,选择 “ MoviePipelineDeadlineRemoteExecutor ” 以启用 Deadline 作为执行远程 渲染的默认方法。
  4. 在 “ 默认执行器作业 ” 下 ,选择 “ MoviePipelineDeadlineExecutorJob ” 以启用 Deadlin e 插件在电影渲染队列用户界面中显示设置。
Figure 08: Plugins – Movie Render Pipeline is shown, highlighting the key changes made to Default Remote Executor, and Default Executor Job, both which will use Deadline.

图 08:启用影片渲染队列以支持通过 Deadline 进行远程执行。

要将序列或镜头提交到 Deadline,您有两个选择:

步骤 5a。通过电影渲染队列远程执行

您可以通过 “影片渲染队列” 提交截止时间渲染的镜头和序列。

Figure 09: The Movie Render Queue, with the Preset Library selected to use a deadline_job_alpha preset. Checkboxes next to the Comment and Department field have been checked, indicating and override of the preset

图 09:电影渲染队列配置为在 Deadline 中远程执行渲染。

要通过影片渲染队列进行设置和渲染,请执行以下操作:

  1. 打开 影片渲染队列 Windows > 过场动画 > 影片渲染队列 )。
  2. 单击 +Render 按钮将序列或镜头添加到作业队列中,或者加载现有的 MoviePipeline Queue 镜头。
  3. 从右侧的 “截止日期” 窗格中 为作业设置 批次名称
  4. 选择 要用来控制渲染设置的 预设库 ,也可以在右侧的 “截止日期” 窗格中
  5. (可选)提供新的输出目录和文件名。

在 “预设覆盖” 部分中,您可以修改当前渲染的 Deadline Job 预设的可见参数,而无需永久修改 Deadline Data Asset。

要在 “预设覆盖” 部分创建替代,请执行以下操作:

  1. 启用要替换的参数旁边的复选框。
  2. 在可编辑字段中进行所需的更改。

在上面的示例中,用户覆盖了提交者中的两个选项:职位评论和部门属性。

要将渲染提交到 Deadline,请选择 “ 渲染(远程) ” 以指示虚幻引擎创建截止任务。在此阶段,当作业提交到 Deadline 时,命令行控制台会出现几秒钟。

步骤 5b。通过队列资产提交器远程执行

向Deadline提交渲染任务的另一种方法是使用队列资源提交器,在启用截止日期插件后,它出现在虚幻引擎菜单栏的截止日期菜单下。

Figure 10: The Queue Asset Submitter property panel is shown here configured similarly to how the Movie Render Queue was configured in Figure 09.

图 10:队列资源提交器配置为在 Deadline 中远程执行渲染。

要通过队列资源提交器远程执行渲染,请执行以下操作:

  1. 打开 队列资源 提交器( 截止日期 > 提交影片渲染队列资源 )。
  2. 为作业设置 批次名称
  3. 提交预设名称 远程预设名称 设置 为步骤 4 中的 截止时间作业预设 ,定义要使用的作业信息。
  4. 队列 部分中,选择 + 并添加 MoviePipelineQueue 资源,该 资源封装了您的 影片渲染队列 镜头/序列和相关信息。
  5. 选择 “ 提交 ” 以在截止日期之前提交作业。

最后期限工作和员工

如果您打开 Deadline Monitor 应用程序,您将看到您的作业排队等待渲染,以及农场中来自其他用户的任何其他作业。

Figure 11: The Deadline Monitor showing the Batch, Job and Tasks. You can see the Job “Main_SEQ” nested underneath the “Meerkat” Batch Name, and resultant tasks created for each Movie Render Queue entity.

图 11:显示批处理、作业和任务的截止时间监视器。你可以看到嵌套在 “猫鼬” 批次名称下方的作业 “main_seq”,以及为每个电影渲染队列实体创建的结果任务。

任何连接到 Deadline 的工作人员都有可能处理虚幻引擎任务,但你需要正确配置工作人员库和群组,以确保只有能够处理虚幻引擎任务的工作人员才能被分配到这项工作。工人需要:

  • 适用于手头任务的硬件,例如 GPU。
  • 虚幻引擎(及相关要求)安装在 截止日期数据资源 定义的位置 。
  • 按照 截止日期数据资源 的规定访问虚幻引擎项目 。
  • 与作业 相关的相应 截止时间组 人才库 的成员资格。

云端渲染

Deadline 还能够通过将亚马逊弹性计算云 (Amazon EC2) 实例配置为额外工作线程来自动弹性地将其机群扩展到云中。这些云工作者可以启动,在需要时执行任务,然后在空闲时自动关闭,使用按使用量付费的计算模式。

在 亚马逊云科技 上使用弹性渲染有很多好处:

  • 可变成本 “按需” 模式消除了对渲染农场进行大量前期固定成本投资的需求,也无需在电力、冷却、空间和安全方面的持续拥有成本,从而简化了该农场的成本。
  • 您可以立即将渲染农场切换为使用最新的 亚马逊云科技 实例,包括新的 GPU 实例。这样就无需进行漫长的硬件更新周期,而这种更新周期通常比虚幻引擎等产品的关键 GPU 和 CPU 技术的进步要长得多。
  • 渲染农场的基础设施可以随时动态扩展,以适应设计团队规模的需求及其不断变化的生产需求。这减少了在生产高峰之前预测、管理和购买机器的需求。

亚马逊云科技 在全球 32 个区域(撰写本文时)拥有 200 多项功能齐全的服务,包括用于渲染的计算,每个区域都提供多个可用区,用于实现数据和服务的冗余和可用性。通过使用点对点虚拟专用网络或与亚马逊云科技的直接连接,你可以在处理之前将虚幻引擎项目数据同步给渲染工作人员,并且可以在完成后恢复生成的图像/工件。

Figure 12: An example architecture of a burst render scenario utilizing Perforce as a version control solution. An on-premises network is shown on the left, consisting of an artist workstation, AWS Thinkbox Deadline, and a Perforce server. On the right, the AWS cloud contains EC2 spot instances spread across multiple availability zones with Unreal Engine installed from a shown Amazon Machine Image (AMI), as well as storage on Elastic Block Storage (EBS) volumes which are being synced to match the Perforce server.

图 12:使用 Perforce 作为存储解决方案的突发渲染场景的示例架构。

敬请关注未来的博客文章,讨论虚幻引擎向基于云的工作人员补充数据的细节。

摘要

在这篇文章中,我们详细介绍了使用虚幻引擎的团队如何将其处理和渲染要求转移到远离美术师的基于截止日期的渲染农场。虚幻引擎任务现在可以整合到单一的作业阵列中,同时整合其他3D、2D和流水线流程,并根据该组的优先事项进行安排。艺术家机器等本地资源可以集成到更大的计算池中,从而最大限度地提高虚幻引擎和其他应用程序的可用计算能力。通过与Deadline更紧密的全新集成,虚幻引擎可以在项目需求决定时使用亚马逊云科技云随时进行扩展。

如果你想在 亚马逊云科技 Thinkbox 截止日期之前举报潜在问题或建议虚幻引擎插件的功能,请 通过电子邮件联系 Thinkbox 支持 部门: support@awsthinkbox.zendesk.com。

进一步阅读

有关虚幻引擎的信息可以在这里找到:

https://www.unrealengine.com/

详尽的截止日期文档可以在这里找到:

https://www.awsthinkbox.com/deadline

查看工作站和渲染机的 GPU 利用率有助于确定效率。这篇博客详细介绍了如何设置和捕获有用的 GPU 数据日志,以便在 亚马逊云科技 上进行分析。

https://aws.amazon.com/blogs/machine-learning/monitoring-gpu-utilization-with-amazon-cloudwatch/

关于虚幻引擎

Epic Games 的 虚幻引擎 是世界上最开放、最先进的实时 3D 工具。游戏、电影和电视、广播和直播活动、建筑、汽车、模拟和其他行业的创作者选择虚幻来提供尖端内容、互动体验和身临其境的虚拟世界。关注 @UnrealEngine 并在 unrealengine.com 上免费下载虚幻引擎。

Unreal Engine Logo

关于 Rodeo FX

Rodeo FX 是一家提供视觉效果、广告、动画和体验服务的高端创意公司,曾多次被评 为 2022 年 Mercuriades 奖的蒙特利尔年度最佳雇主和雇主之一。去年,这家获得奥斯卡® 奖的独立公司凭借其在《怪奇物语》第 4 季、《巫师》第 2 季和基金会第 1 季中的作品获得了 3 项艾美奖® 提名,最近还获得了《指环王:权力之戒》第一季的提名,该公司拥有来自蒙特利尔、魁北克城、多伦多、洛杉矶和巴黎工作室的近 800 位艺术家。Rodeo FX是包括Netflix、HBO、迪士尼、漫威、亚马逊影业、华纳兄弟和索尼在内的世界上最好的故事讲述者的创意合作伙伴,并合作制作了YouTube、NBC和苹果的广告。目前的项目包括《蓝甲虫》和《基金会第 2 季》。最近发布的项目包括《巫师》第 3 季、《约翰·威克:第 4 章》、《小美人鱼》、《银河护卫队》第 3 卷和《爱、死亡与机器人》第 3 卷,该公司因此获得了 2023 年 VES 奖。

Rodeo FX logo

关于格利奇制作公司

Glitch Product ions 是一家总部位于悉尼的独立动画工作室,制作的在线内容已被全球数百万粉丝观看。虚幻引擎和实时渲染一直是他们成功的最大因素之一,这使他们能够用很少的预算和时间创造出令人惊叹的视觉效果。 他们目前最受欢迎的剧集是《谋杀无人机》,可在Glitch Productions的YouTube频道上免费向公众观看。

Glitch Productions logo

Andy Hayes

安迪·海耶斯 安迪是

亚马逊云科技 视觉计算高级解决方案架构师。

Marshall Jackson

马歇尔·杰克逊·

马歇尔是 亚马逊云科技 Thinkbox 的软件开发工程师。

Dario Macagnano

达里奥·马卡尼亚诺

·达里奥是 亚马逊云科技 视觉计算高级解决方案架构师。

Mike Owen

Mike Owen

Mike 是 亚马逊云科技 视觉计算首席解决方案架构师。

Sean Wallitsch

肖恩·瓦利奇

·肖恩是 亚马逊云科技 视觉计算高级解决方案架构师。


*前述特定亚马逊云科技生成式人工智能相关的服务仅在亚马逊云科技海外区域可用,亚马逊云科技中国仅为帮助您发展海外业务和/或了解行业前沿技术选择推荐该服务。