

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 史诗虚幻引擎
<a name="epic-unreal-engine"></a>

虚幻引擎是一款实时 3D 创作工具，可提供逼真的视觉效果和身临其境的体验。虚幻引擎由 Deadline Cloud 提供支持，包括提交者、conda 包和用于提高渲染性能的适配器。本指南提供了分步说明，说明如何使用带有虚幻引擎的 Deadline Cloud，通过在多台计算机上分配渲染任务来更快地渲染影片渲染队列项目。

## Support 概述
<a name="unreal-engine-support-overview"></a>

虚幻引擎由以下组件支持：
+ **提交者**：集成的提交者插件，用于从虚幻引擎直接提交作业，具有自动场景和资产检测功能。
+ **Conda 软件包**：Deadline Cloud，用于在服务管理的车队上自动安装。
+ **Adaptor**：中间件，可通过粘性会话和额外监控实现高效渲染。
+ **Cross-platform 兼容性**：仅适用于 Windows 的提交者和工作人员支持。
+ **电影渲染队列集成**：支持虚幻引擎的电影渲染队列系统。

## 虚幻引擎版本兼容性
<a name="unreal-engine-version-compatibility"></a>

下表显示了虚幻引擎版本的当前支持级别：


| 主要版本 | 提交者 Support | Conda Support | 
| --- | --- | --- | 
| 5.4 | Windows | Windows | 
| 5.5 | Windows | Windows | 
| 5.6 | Windows | Windows | 
| 5.7 | Windows | Windows | 

## 截止日期云 Conda 频道
<a name="unreal-engine-conda-channel"></a>

下表列出了适用于虚幻引擎的所有conda软件包，可供 `deadline-cloud` conda Service-managed 频道中的舰队使用：


| OS | 程序包 | 版本 | 
| --- | --- | --- | 
| Windows | 虚幻引擎 | 5.4 | 
| Windows | 虚幻引擎 | 5.5 | 
| Windows | 虚幻引擎 | 5.6 | 
| Windows | 虚幻引擎 | 5.7 | 
| Windows | 虚幻引擎 openjd |  | 

## 开始使用
<a name="unreal-engine-getting-started"></a>

### 先决条件
<a name="unreal-engine-prerequisites"></a>

在安装虚幻引擎提交器之前，请确保具备以下条件：
+ Windows 工作站（Windows 10 或更高版本）
+ 安装了支持的虚幻引擎版本
+ Deadline 云监控器已安装（[点击此处下载](https://docs.aws.amazon.com/deadline-cloud/latest/userguide/monitor-onboarding.html)）
+ 使用 GPU-enabled Windows服务管理的队列或使用虚幻引擎、虚幻引擎适配器并设置许可的客户管理队列访问Deadline Cloud农场

## 安装提交者
<a name="unreal-engine-installation"></a>

虚幻引擎提交者将 Deadline Cloud 功能作为插件添加到虚幻引擎，允许你将影片渲染队列任务直接提交到 Deadline Cloud 进行渲染。

### 选择你的分行
<a name="unreal-engine-choose-branch"></a>

为您的部署选择合适的分支：


| 分支 | 稳定性 | 使用案例 | 推荐用于 | 
| --- | --- | --- | --- | 
| 释放 | 稳定 | 生产 | 大多数用户 | 
| 主线 | 最新功能 | 开发和测试 | 高级用户 | 

**提示**  
在生产环境中使用**发布**分支以确保稳定性。

### 创建用于安装虚幻引擎的新 Windows Amazon EC2 实例（可选）
<a name="unreal-engine-create-ec2"></a>

如果您以提交者的身份在全新的Windows亚马逊弹性计算云 (Amazon EC2) 实例上进行设置，那么具有 200 GB 存储空间的 g5.2xlarge 实例是合理的最低值：

1. 使用有效的实例配置文件启动一个 Amazon EC2 实例。这是按照以下说明下载 NVIDIA GRID 驱动程序所必需的。

1. 下载 Epic 安装程序并安装支持的虚幻版本（5.4-5.7）。
   + 使用 DirectX 11 插件运行时，UE 5.5 存在已知的崩溃错误（参见 UE 问题 \#UE-276282）。如果你需要在 UE 5.5 上支持 DirectX，请使用 DirectX 12 或更高版本。

1. NVIDIA GRID 驱动程序-按照 [Windows 安装说明进行操作](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/install-nvidia-driver.html#nvidia-GRID-driver)。

### Windows 漫长的路径
<a name="unreal-engine-windows-long-paths"></a>

以下许多步骤可能会创建超过默认的 Windows 最大路径长度的文件。在你在 Windows 计算机上构建和安装虚幻引擎提交者或适配器的 Deadline Cloud 之前，我们建议你启用 Windows 长路径支持。为此，请按照 “[最大文件路径限制](https://learn.microsoft.com/en-us/windows/win32/fileio/maximum-file-path-limitation?tabs=registry)” 页面上的说明进行操作，例如运行[PowerShell 命令](https://learn.microsoft.com/en-us/windows/win32/fileio/maximum-file-path-limitation?tabs=powershell#tabpanel_1_powershell)。

[工作器代理上还有一个未解决的问题](https://github.com/aws-deadline/deadline-cloud-worker-agent/issues/520)，这是因为依赖项未配置为支持 Windows 长路径。设置工作器时，请按照链接问题中的解决方法步骤完全支持 Windows 长路径，直到问题得到解决。

### 安装构建工具
<a name="unreal-engine-install-build-tools"></a>

虚幻提交者插件目前必须在本地编译。

1. 使用视觉工作室安装[程序安装 Visual Studio](https://visualstudio.microsoft.com/)。

1. 查看 Epi [c 兼容性表，验证你的 Visual Studio 和编译工具版本是否与你的虚幻版本兼容](https://dev.epicgames.com/documentation/en-us/unreal-engine/setting-up-visual-studio-development-environment-for-cplusplus-projects-in-unreal-engine?application_version=5.5)。

1. 在 “**单个组件**” 下，确保所选的 MSVC 生成工具版本（默认为 “最新”）与表中的推荐版本相匹配。尽管兼容性指南可能建议使用 “或更高版本”，但使用比 “推荐” 列出的版本更新的版本时，有时会出现构建错误。

1. 在 “**单个组件**” 下，选择最新的.NET Framework SDK（4.6.1 和 4.8.1 已通过验证）。

1. 在 “**工作负载**” 下，选择 “**使用 C\+\+ 进行桌面开发**”。

### 安装截止日期云监视器
<a name="unreal-engine-install-monitor"></a>

Deadline Cloud 监控器既用于管理您向 Deadline Cloud 提交作业的凭据，又用于监控您的作业状态。

1. 按照 De [adline Cloud 监视器安装说明](https://docs.aws.amazon.com/deadline-cloud/latest/userguide/submitter.html#install-deadline-cloud-monitor)

1. 登录。

### 环境设置
<a name="unreal-engine-environment-setup"></a>

1. （如果尚未安装）为所有用户安装最新版本的 Python（已通过 3.12 验证）。

1. 确保您的环境变量设置正确。在系统环境变量中，您的 PATH 必须包括：
   + 安装 Python 的路径（例如，`C:\Program Files\Python312`）。
   + 您的 Python 脚本文件夹（例如`C:\Program Files\Python312\scripts`）的路径。
   + 虚幻二进制文件的路径（例如，`C:\Program Files\Epic Games\UE_5.5\Engine\Binaries\Win64`）。

### 截止日期 Cloud 软件安装
<a name="unreal-engine-deadline-software-install"></a>

`deadline-cloud-for-unreal-engine`从发布分支或主线克隆或下载，具体取决于你想要的是最新的测试版本还是所有最新的提交。

```
git clone https://github.com/aws-deadline/deadline-cloud-for-unreal-engine.git
cd deadline-cloud-for-unreal-engine
git switch release
```

### 可选-使用脚本构建和安装插件
<a name="unreal-engine-build-with-script"></a>

`scripts/build_plugin.py`可以选择使用中的帮助脚本自动执行接下来的两个步骤。它会尝试查找最新版本的虚幻引擎，构建你的插件和Python依赖关系，并将它们安装在正确的位置。你可以覆盖诸如虚幻版本之类的设置。要查看完整的帮助列表，请运行：

```
python scripts/build_plugin.py -h
```

要以提交者`deadline-cloud-for-unreal-engine`身份构建并安装你当前安装的虚幻引擎副本，请运行：

```
python scripts/build_plugin.py --install
```

如果您已成功安装此脚本，则可以跳至[创建舰队](#unreal-engine-create-fleet)。

### 编译插件
<a name="unreal-engine-build-plugin"></a>

根据你安装的虚幻引擎的位置和安装位置，调整下面的前两条路径`deadline-cloud-for-unreal-engine`。

从 Unreal Install Batchfiles 文件夹（`package`参数可以是任何新目录，但你希望`UnrealDeadlineCloudService`稍后再调用）：

```
cd C:\Program Files\Epic Games\UE_5.5\Engine\Build\BatchFiles
runuat.bat BuildPlugin -plugin="C:\deadline\deadline-cloud-for-unreal-engine\src\unreal_plugin\UnrealDeadlineCloudService.uplugin" -package="C:\UnrealDeadlineCloudService"
```

将上面的 “package” 文件夹复制到虚幻安装的 Plugins 文件夹（例如`C:\Program Files\Epic Games\UE_5.5\Engine\Plugins\UnrealDeadlineCloudService`）。

### Python 依赖项
<a name="unreal-engine-python-deps"></a>

有 4 种方法可以安装所需的 Python 依赖项。

1. 如果您已经从上面的发布分支中构建并安装了插件，则可以从 pip 进行安装。使用以下安装命令，调整虚幻引擎安装路径：

```
"C:\Program Files\Epic Games\UE_5.5\Engine\Binaries\ThirdParty\Python3\Win64\python" -m pip install deadline-cloud-for-unreal-engine --target "C:\Program Files\Epic Games\UE_5.5\Engine\Plugins\UnrealDeadlineCloudService\Content\Python\libraries"
```

2. 或者，在你的`.uplugin`文件中（在上面的步骤中`C:\Program Files\Epic Games\UE_5.5\Engine\Plugins\UnrealDeadlineCloudService\UnrealDeadlineCloudService.uplugin`），你可以添加一个与最新版本相匹配`deadline-cloud-for-unreal-engine`的`PythonRequirements`部分 GitHub/PyPI，例如：

```
"PythonRequirements":
[
    {
        "Platform": "All",
        "Requirements":
        [
            "deadline-cloud-for-unreal-engine>=0.5.0"
        ]
    }
]
```

你可能希望在虚幻引擎的Python设置中停用 “严格哈希” 功能，或者为你想要使用的特定库和依赖版本添加哈希设置。

3. 如果你要从主线提取，你可能有尚未发布到 PyPI 的 Python 依赖项——你需要构建并安装本地副本，这可以用 hatch 完成。需要更改该`.whl`文件以反映出舱口构建输出的版本：

```
pip install hatch
hatch build
"C:\Program Files\Epic Games\UE_5.5\Engine\Binaries\ThirdParty\Python3\Win64\python" -m pip install dist\deadline_cloud_for_unreal_engine-0.2.2.post21-py3-none-any.whl --target "C:\Program Files\Epic Games\UE_5.5\Engine\Plugins\UnrealDeadlineCloudService\Content\Python\libraries"
```

4. 最后，Python 依赖项可以由提交者安装程序安装。这些可能与你上面发布的版本或主线分支中的代码已经过时了，目前不应该首选这种方法。

1. 从 Deadline Cloud AWS 控制台的 “下载” 选项卡或在 “工作站设置” → “下载” 下的 Deadline Cloud 监视器中下载提交者安装程序。

1. 为所有用户运行安装程序。默认安装位置没问题。

1. 启用虚幻引擎插件。

1. 确保虚幻引擎插件的安装路径与你的插件被复制到的位置相匹配（尤其要确保你的虚幻版本匹配）。

### 更新通知
<a name="unreal-engine-update-notifications"></a>

 GitHub 当虚幻编辑器启动时，提交者插件会自动检查是否有较新的版本。如果有更新可用，则会出现一个对话框，提示您访问发布页面。

**要停用更新通知，请取消选中 Deadline Cloud 设置面板（**编辑** > **项目**设置 > **插件** > Deadline Cloud）中 “常规**设置”** 下的 “**显示提交者更新通知**”。**

或者，你可以使用 CLI：

```
deadline config set settings.submitter_update_notification false
```

要重新启用：

```
deadline config set settings.submitter_update_notification true
```

## 创建舰队
<a name="unreal-engine-create-fleet"></a>

如果你已经有一个 Windows 队列并且不需要设置新的队列，你可以直接跳到[提交测试渲染](#unreal-engine-test-render)。

### 创建服务托管队列 (SMF)
<a name="unreal-engine-create-smf"></a>

如果您还没有 SMF，请按照[服务管理队列用户指南](https://docs.aws.amazon.com/deadline-cloud/latest/userguide/smf-manage.html)创建 SMF。[在[服务管理舰队 (SMF)](https://docs.aws.amazon.com/deadline-cloud/latest/userguide/smf-manage.html) 上，虚幻引擎和适配器可使用带有默认队列环境的 `deadline-cloud` conda 通道自动使用。](https://docs.aws.amazon.com/deadline-cloud/latest/userguide/create-queue-environment.html#conda-queue-environment)你已经准备好开始渲染了。继续执行[提交测试渲染](#unreal-engine-test-render)以下操作，提交测试渲染作业。

### 创建客户管理的车队 (CMF)
<a name="unreal-engine-create-cmf"></a>

1. 如果您[还没有 CMF，请按照创建客户管理的队列](https://docs.aws.amazon.com/deadline-cloud/latest/developerguide/create-a-cmf.html)来创建 CMF。
**警告**  
将 CMF 与队列关联时，如果您不使用默认 conda 队列环境，请将其删除。这将防止使用 conda 环境以及意外使用提交到 CM SMF-specific F 的作业的默认变量。如果您在 CMF 中使用 conda，请记得在提交`CondaPackages`作业时更新**参数定义覆盖**中的`CondaChannels`变量。

1. 按照[工作主机的设置和配置](https://docs.aws.amazon.com/deadline-cloud/latest/developerguide/worker-host.html)来设置工作主机。

1. 按照[管理对 Windows 作业用户密钥的访问权限](https://docs.aws.amazon.com/deadline-cloud/latest/developerguide/manage-access-windows-secrets.html)为你的 CMF 工作人员设置 Windows 作业用户密钥。

1. 按照[安装和配置作业所需的软件](https://docs.aws.amazon.com/deadline-cloud/latest/developerguide/install-software.html)来安装运行作业所需的软件。

1. 按照步骤[设置客户管理车队 (CMF) 工作人员](#unreal-engine-cmf-worker-setup)设置你的工作节点来运行虚幻引擎作业。

## 提交测试渲染
<a name="unreal-engine-test-render"></a>

此示例使用虚幻商城中的猫鼬演示：

1. 启动 Epic Games 启动器。

1. 从 “示**例**” 选项卡中安装 Meerkat 演示。

1. 从 Meerkat Demo 中创建一个项目，然后将其打开。

1. 从 **“编辑**” 菜单中选择 “**插件**”，搜索并启用**UnrealDeadlineCloudService**。

1. 如果你是第一次启用该插件，请重启虚幻引擎。

1. 在 **“编辑” > “****项目设置”** 下，搜索 “**影片渲染管道**” 部分。
   + 在 **“默认远程执行器**” 中，选择**MoviePipelineDeadlineCloudRemoteExecutor**。
   + 在 **“默认 Executor Job**” 中，选择**MoviePipelineDeadlineCloudExecutorJob**。
   + 在 “**默认 Job 设置类别”** 下，选择 “添加” 图标，然后添加**DeadlineCloudRenderStepSetting**。

1. 搜索 De **adline Cloud** 设置并验证身份验证：
   + 确保您的状态显示为 “已验证”，并且 Deadline Cloud API 显示为 “已授权”。
   + 如果未出现，请先尝试使用 “**登录**” 按钮。如果这不起作用，请打开 Deadline Cloud 监视器并确保你已登录。
   + 在 De **adline 云工作站配置**部分：
     + 在 **“全局设置”** 下，确保您的 AWS 配置文件已正确设置为 Deadline Cloud 监控配置文件。
     + 在 “**配置文件**” 下，确保您的默认服务器场设置为您的农场。
     + 在 **Farm** 下，确保您的默认队列设置为与您在上面设置的队列关联的队列。

1. 退出 “项目设置” 窗口。

1. 选择 **Windows**、**Cinematic** s、**影片渲染队列**。
   + 选择 **\+ 渲染**，然后选择**Main\_SEQ**。
   + **UnsavedConfig**在设置栏中选择。
     + 在弹出窗口中，您应该在左侧看到 Deadline Cloud 设置。然后可以关闭此窗口。
   + 在对话框的右侧，配置作业设置：
     + 在 “**预设覆盖**” 下（您可能需要扩大此对话框）：
       + 展开 **Job 共享设置**：
         + 将**名称**设置为 `Unreal Test Job`。
         + 将**最大重试次数设置为** 2。
       + 展开 **Job 附件**：
         + 在 “**输入文件**” 下，选择 “**显示**” Auto-Detected。
         + 验证自动检测到的文件列表是否正确填充。
     + 在 “**Job 模板替代**” 下：
       + **CondaPackages**如果您使用的版本不同于5.6，请更新虚幻引擎版本。
         + 虚幻引擎版本自动检测将在未来的版本中推出。
   + 选择 “**渲染（远程）**”。

1. 你可以前往 Deadline Cloud 监控器查看你的工作进度。

## 设置客户管理车队 (CMF) 工作人员
<a name="unreal-engine-cmf-worker-setup"></a>

本节将引导你使用虚幻引擎将 Amazon EC2 实例设置为 Deadline Cloud 的 CMF 工作程序。

### 概述
<a name="unreal-engine-cmf-overview"></a>

以下是 CMF 和 SMF 之间的主要区别：
+ **CMF**：在工作主机上手动安装虚幻引擎和适配器。
+ **SMF**：通过 `deadline-cloud` conda 频道自动上线。

### 选择你的分行
<a name="unreal-engine-cmf-choose-branch"></a>

为您的部署选择合适的分支：


| 分支 | 稳定性 | 使用案例 | 
| --- | --- | --- | 
| 释放 | 稳定 | 生产部署 | 
| 主线 | 最新 | 开发和测试 | 

**重要**  
确保您的工作人员版本与您的提交者版本相匹配，以避免出现兼容性问题。

### 亚马逊 EC2 实例设置
<a name="unreal-engine-cmf-ec2-setup"></a>

以下是推荐的实例配置：
+ **实例类型**：g5.2xlarge 或更高版本。
+ **存储空间**：至少 200 GB。
+ **操作系统**：Windows 服务器 2019/2022。

#### 软件安装
<a name="unreal-engine-cmf-software-install"></a>

**1。安装虚幻引擎**：

1. 下载 Epic Games 启动器。

1. 安装虚幻引擎 5.4 或更高版本。
**注意**  
需要使用虚幻引擎 5.4\+ 才能兼容 Deadline Cloud。

**2。安装 NVIDIA 网格驱动程序**：
+ 按照 [AWS NVIDIA GRID 驱动程序安装指南进行](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/install-nvidia-driver.html#nvidia-GRID-driver)操作。
+ 在 Amazon EC2 实例上进行 GPU-accelerated 渲染所必需的。

### 安装构建工具
<a name="unreal-engine-cmf-build-tools"></a>

虚幻插件目前必须在本地编译。

1. 使用视觉工作室安装[程序安装 Visual Studio](https://visualstudio.microsoft.com/)。

1. 查看 Epi [c 兼容性表，验证你的 Visual Studio 和编译工具版本是否与你的虚幻版本兼容](https://dev.epicgames.com/documentation/en-us/unreal-engine/setting-up-visual-studio-development-environment-for-cplusplus-projects-in-unreal-engine?application_version=5.5)。

1. 在 “**单个组件**” 下，确保所选的 MSVC 生成工具版本（默认为 “最新”）与表中的推荐版本相匹配。

1. 在 “**单个组件**” 下，选择最新的.NET Framework SDK（4.6.1 和 4.8.1 已通过验证）。

1. 在 “**工作负载**” 下，选择 “**使用 C\+\+ 进行桌面开发**”。

### 截止日期 Cloud 软件安装
<a name="unreal-engine-cmf-deadline-install"></a>

`deadline-cloud-for-unreal-engine`从发布分支或主线克隆或下载。确保您的库工作版本与提交者使用的版本兼容。

```
git clone https://github.com/aws-deadline/deadline-cloud-for-unreal-engine.git
cd deadline-cloud-for-unreal-engine
git switch release
```

可选-使用脚本构建和安装插件和依赖项：

上有一个帮助脚本`scripts/build_plugin.py`，可以自动执行剩余的安装步骤。它会尝试查找最新版本的虚幻引擎，构建你的插件和python依赖关系，并将它们安装在正确的位置。可以覆盖诸如要使用的虚幻版本之类的设置。要查看完整的帮助列表，请运行：

```
python scripts/build_plugin.py -h
```

要以 worker 的`deadline-cloud-for-unreal-engine`身份构建并安装你当前安装的虚幻引擎副本，请运行：

```
python scripts/build_plugin.py --install --worker
```

运行以下命令配置 Deadline Cloud 工作器代理：

```
install-deadline-worker ^
  --farm-id FARM_ID ^
  --fleet-id FLEET_ID ^
  --region REGION ^
  --allow-shutdown
```

如果您已经安装了此脚本并成功配置了工作器代理，则可以跳至[启动 Deadline Cloud 工作者代理服务](#unreal-engine-cmf-start-agent)。

```
python -m pip install deadline-cloud-worker-agent
```

必须安装正确版本的适配器，具体取决于所使用的提交者的版本。如果您使用的是发布分支中的提交者版本 GitHub，则只需使用 pip 进行安装即可：

```
python -m pip install deadline-cloud-for-unreal-engine
```

如果您使用的是提交者的主线版本或自定义开发版本，为了避免兼容性问题，我们建议您使用相同版本的代码进行构建和安装，或者从提交者版本中传输`.whl`文件：

```
pip install hatch
hatch build
python -m pip install dist\my-built-wheel.whl
```

### 构建插件
<a name="unreal-engine-cmf-build-plugin"></a>

根据你安装的虚幻引擎的位置和安装位置，调整下面的前两条路径`deadline-cloud-for-unreal-engine`。

从 Unreal Install Batchfiles 文件夹（`package`参数可以是任何新目录，但你希望`UnrealDeadlineCloudService`稍后再调用）：

```
cd C:\Program Files\Epic Games\UE_5.5\Engine\Build\BatchFiles
runuat.bat BuildPlugin -plugin="C:\deadline\deadline-cloud-for-unreal-engine\src\unreal_plugin\UnrealDeadlineCloudService.uplugin" -package="C:\UnrealDeadlineCloudService"
```

将上面的 “package” 文件夹复制到虚幻安装的 Plugins 文件夹（例如`C:\Program Files\Epic Games\UE_5.5\Engine\Plugins\UnrealDeadlineCloudService`）。

### pywin32
<a name="unreal-engine-cmf-pywin32"></a>

虚幻引擎版本的 Python 需要使用 pywin32。使用虚幻引擎的第三方 Python 安装副本安装 Pip：

```
"C:\Program Files\Epic Games\UE_5.5\Engine\Binaries\ThirdParty\Python3\Win64\python" -m pip install pywin32
```

### 启动 Deadline Cloud 工作者代理服务
<a name="unreal-engine-cmf-start-agent"></a>

在你的 CMF 工作器实例上：

1. 打开**任务管理器**。

1. 选择右侧的 “**服务**” 选项卡。

1. 查找**DeadlineWorker**。
   + 如果您没有看到它列出，则可能错过了 [CMF 主机设置步骤`install-deadline-worker`中的步骤](https://docs.aws.amazon.com/deadline-cloud/latest/developerguide/worker-host.html#worker-agent-config)（特别是）。

1. 如果服务的状态当前不是 “正在运行”，请右键单击该服务并选择 “**启动**”。

1. 如果您的 DeadlineWorker 服务未启动，请查看以下位置的工作代理启动日志：
   + `C:\ProgramData\Amazon\Deadline\Logs\worker-agent.log`
   + `C:\ProgramData\Amazon\Deadline\Logs\queue-<queueid>\session-<sessionid>.log`

## 执行凭证管理
<a name="unreal-engine-perforce-credentials"></a>

本节介绍将 Perforce 与 Deadline Cloud 工作人员集成的安全凭据管理。

### 概述
<a name="unreal-engine-p4-cred-overview"></a>

有几种方法可以为 Deadline Cloud 工作人员配置 Perforce 证书。每种方法都有不同的安全含义和用例：


| 方法 | 安全级别 | 部署支持 | 推荐用途 | 
| --- | --- | --- | --- | 
| AWS Secrets Manager （Secrets Manager） | 高 | SMF \+ CMF | 生产（推荐） | 
| 作业环境变量 | 低 | SMF \+ CMF | 仅限开发和测试 | 
| 队列环境变量 | 低 | SMF \+ CMF | 仅限开发和测试 | 
| Windows 注册表 | 中 | 仅限 CMF | 传统的 CMF 设置 | 
| Pre-configured 管理员用户 | 中 | 仅限 CMF | 简化的 CMF 设置 | 

**重要**  
在生产环境中使用 Secrets Manager。它提供带有审核跟踪的集中式加密凭证存储，并可与 SMF 和 CMF 部署配合使用。

### P4 凭证基础知识
<a name="unreal-engine-p4-cred-basics"></a>

要检索连接设置，包括 Perforce 服务器 URL 和端口、用户名和密码，Perforce 遵循以下优先级：

1. Perforce (P4) 的任何框架中的连接参数（`p4python.P4`例如）。

1. User/system 环境变量：`P4PORT`、`P4USER`、`P4CLIENT`、`P4PASSWD`。

1. Windows 注册表：`HKEY_LOCAL_MACHINE\SOFTWARE\Perforce\Environment`（系统范围的设置）或`HKEY_CURRENT_USER\SOFTWARE\Perforce\Environment`（用户特定的设置）。

有了这些优先级，如果你有以下设置：
+ 连接参数`password`是 `password.from.connection`
+ 环境变量`%P4PORT%`是 `ssl:perforce.from.env:1666`
+ Windows 注册表`HKEY_CURRENT_USER\SOFTWARE\Perforce\Environment:P4PORT`是 `ssl:perforce.from.registry:1666`
+ Windows 注册表`HKEY_CURRENT_USER\SOFTWARE\Perforce\Environment:P4USER`是 `user.from.registry`
+ Windows 注册表`HKEY_CURRENT_USER\SOFTWARE\Perforce\Environment:P4PASSWD`是 `password.from.registry`

由此产生的 Perforce 连接将是：

```
Port = ssl:perforce.from.env:1666
User = user.from.registry
Password = password.from.connection
```

### Secrets Manager（推荐）
<a name="unreal-engine-p4-cred-secrets-manager"></a>

Secrets Manager 为 CMF 和 SMF 部署提供了最安全、最具扩展性的解决方案。

此方法具有以下优势：
+ **集中式安全**：将所有 P4 凭据存储在一个加密位置。
+ **不泄露凭证**：凭据永远不会出现在作业配置或日志中。
+ **自动轮换**：Support 支持凭证轮换，无需重新配置作业。
+ **审计跟踪**：跟踪凭证访问和使用情况。
+ **通用支持**：适用于 CMF 和 SMF 部署。
+ **日志修改：**在作业日志中自动删除连接凭据。

#### 第 1 步：在 Secrets Manager 中创建密钥
<a name="unreal-engine-p4-create-secret"></a>

创建一个包含您的 Perforce 连接参数的密钥。

**必需的键值对**：
+ `P4PORT`-执行服务器 URL 和端口。
+ `P4USER`-请输入用户名。
+ `P4PASSWD`-请输入密码。

**重要**  
密钥名称必须与 P4 连接参数完全匹配才能使用`deadline-cloud-for-unreal-engine`。

**秘密示例**：

```
{
   "P4PORT": "ssl:your-perforce-server.com:1666",
   "P4USER": "your-perforce-username",
   "P4PASSWD": "your-perforce-password"
}
```

**要创建密钥，请执行**以下操作：

1. 打开 Secrets Manager 控制台。

1. 选择 “存储新密钥”。

1. 选择 “其他类型的机密”。

1. 输入上面的键值对。

1. 命名您的密钥（例如，`deadline-cloud-p4-credentials`）。

1. 完成创建过程

#### 第 2 步：授予工作人员访问密钥的权限
<a name="unreal-engine-p4-grant-access"></a>

工作人员需要获得访问密钥的`secretsmanager:GetSecretValue`许可。这遵循与[管理 Windows 作业用户密钥](https://docs.aws.amazon.com/deadline-cloud/latest/developerguide/manage-access-windows-secrets.html#grant-access)相同的模式。

**要授予访问权限**：

1. 打开 Secrets Manager 控制台并导航到您的密钥。

1. 在 “资源权限” 部分中，添加以下策略：

   ```
   {
     "Statement": [
       {
         "Effect": "Allow",
         "Principal": {
           "AWS": "QUEUE_ROLE_ARN"
         },
         "Action": [
           "secretsmanager:GetSecretValue"
         ],
         "Resource": "*"
       }
     ]
   }
   ```

1. `QUEUE_ROLE_ARN`替换为您的实际队列角色 ARN。

1. 保存策略。

**注意**  
保存密钥名称——配置 P4 渲染作业时需要它。[创建 Perforce 渲染作业](#unreal-engine-perforce-render-job)有关后续步骤，请参阅。

### 作业环境变量
<a name="unreal-engine-p4-job-env"></a>

**警告**  
不建议在生产环境中使用这种方法，因为它会在作业配置和日志中公开凭据。在生产环境中使用 Secrets Manager。

[您可以在创建工作空间的作业环境中传递连接凭据，例如在 [p4\_sync\_smf\_environment、ugs\_sync\_smf\_environment 或 CMF 的类似环境](https://github.com/aws-deadline/deadline-cloud-for-unreal-engine/blob/mainline/src/unreal_plugin/Content/Python/openjd_templates/p4/p4_sync_smf_environment.yml)中。](https://github.com/aws-deadline/deadline-cloud-for-unreal-engine/blob/mainline/src/unreal_plugin/Content/Python/openjd_templates/ugs/ugs_sync_smf_environment.yml)或者，创建一个新的环境模板并将其添加到您的工作中。

```
name: P4Credentials
variables:
  P4PORT: ssl:my-perforce.com:1666
  P4USER: j.doe
  P4PASSWD: MyVeRyS3cretP4ssW0rd
```

这种方法存在以下安全风险：
+ 证书在作业配置中可见。
+ 密码可能会出现在日志中（不会自动删除）。
+ 没有集中式凭证管理。
+ 难以轮换证书。

### 队列环境变量
<a name="unreal-engine-p4-queue-env"></a>

**警告**  
不建议在生产环境中使用这种方法，因为它会将凭据存储在队列配置中。使用 Secrets Manager 进行安全的凭据管理。

根据 De [adline Cloud 用户指南](https://docs.aws.amazon.com/deadline-cloud/latest/userguide/create-queue-environment.html)，您可以使用队列环境为队列中的作业提供软件应用程序、环境变量和其他资源。队列环境示例可以在截止日期云样本的 [queue\_environments 文件夹中](https://github.com/aws-deadline/deadline-cloud-samples/tree/mainline/queue_environments)找到。

#### 使用 Deadline 云监控器或控制台添加队列环境
<a name="unreal-engine-p4-add-env-dcm"></a>

1. 打开 Deadline 云监控器或 AWS 控制台。

1. 导航到您正在使用的服务器场和队列。

1. 选择 “**队列环境**” 选项卡。

1. 选择 “**操作**”，然后选择 “**使用 YAML 新建**”。

1. 添加以下内容并保存：

   ```
   specificationVersion: environment-2023-09
   name: P4Credentials
   variables:
      P4PORT: ssl:my-perforce.com:1666
      P4USER: j.doe
      P4PASSWD: MyVeRyS3cretP4ssW0rd
   ```

#### 使用 CLI 添加队列环境
<a name="unreal-engine-p4-add-env-cli"></a>

1. 使用上面的示例创建一个`p4_credentials.yaml`文件。

1. 运行以下 CLI 命令：

   ```
   aws deadline create-queue-environment \
    --farm-id FARM_ID \
    --queue-id QUEUE_ID \
    --priority 1 \
    --template-type YAML \
    --template file://p4_credentials.yaml
   ```

### Windows 注册表（仅限 CMF）
<a name="unreal-engine-p4-windows-registry"></a>

**重要**  
此解决方案仅适用于可以直接配置工作主机的CMF。对于 SMF 部署，请使用 Secrets Manager。

Windows 注册表在工作计算机上提供本地凭据存储。此方法使用标准 Perforce 优先级系统，其中凭据存储在：
+ `HKEY_LOCAL_MACHINE\SOFTWARE\Perforce\Environment`（系统范围的设置）。
+ `HKEY_CURRENT_USER\SOFTWARE\Perforce\Environment`（用户特定的设置）。

此方法仅适用于您可以直接访问配置工作器计算机的 CMF 部署。

### Pre-configured 管理员用户（仅限 CMF）
<a name="unreal-engine-p4-admin-user"></a>

**重要**  
此解决方案仅适用于可以直接配置工作主机的CMF。对于 SMF 部署，请使用 Secrets Manager。

为具有未到期连接的渲染节点创建专用 P4 用户，无需传递用户名和密码等机密数据。在这种情况下，可以使用单个专用 P4 用户连接到所有 P4 服务器，包括可访问项目仓库的提交（主服务器）和边缘服务器。

因此，如果未在 workers 上配置默认端口，则只需传递要连接的端口。这可以通过在作业环境或队列环境中添加以下内容来实现，类似于上面记录的步骤：

```
name: P4Sync
variables:
  P4PORT: ssl:my-perforce.com:1666
```

## 创建 Perforce 渲染作业
<a name="unreal-engine-perforce-render-job"></a>

本节将引导你配置 Perforce-integrated 渲染作业数据资产，这样你就可以从虚幻引擎向 Deadline Cloud 提交 Perforce-integrated 渲染作业。

### 先决条件
<a name="unreal-engine-p4-prerequisites"></a>

在 Perforce 存储库中使用虚幻引擎提交影片渲染队列 (MRQ) 作业之前：

**虚幻项目设置**：
+ 项目必须位于 Perforce 工作区内。
+ 验证 Perforce 连接是否已建立，并且您已登录。

**截止日期云设置**：
+ 完成 [安装提交者](#unreal-engine-installation)。
+ [执行凭证管理](#unreal-engine-perforce-credentials)为工作人员配置。

**性能要求**：
+ 包含项目文件的有效 Perforce 工作区。
+ 同步操作的适当的 Perforce 权限。

### Perforce 渲染作业架构
<a name="unreal-engine-p4-architecture"></a>

P4 渲染作业通过 Perforce 同步功能扩展了标准渲染作业：

```
Deadline Cloud Perforce render job
├── Environments
│   ├── Apply Perforce Credentials from Secrets Manager
│   ├── Sync Perforce Environment (CMF/SMF)
│   │   └── Initializes Perforce workspace and syncs repository on workers
│   └── Launch UE Environment
│       └── Starts Unreal Engine with Perforce workspace paths
└── Steps
    └── Render Step
        └── Executes Movie Render Queue process
```

与@@ **标准作业的主要区别**：
+ **凭据管理**：来自 Secrets Manager 的 Secure Perforce 凭证应用程序。
+ **存储库同步**：用于工作空间管理的附加 Perforce 同步环境。
+ **路径解析**：环境变量引用 Perforce 工作空间路径。
+ **依赖项收集**：自动收集和同步资 Perforce-tracked 产。

### 设置 Perforce 渲染作业组件
<a name="unreal-engine-p4-setup-components"></a>

按照以下步骤创建 Perforce-integrated 渲染作业所需的数据资产。

#### 1. 创建应用性能凭证数据资产
<a name="unreal-engine-p4-apply-credentials"></a>

设置 OpenJD 环境，用于从 Secrets Manager 检索 Perforce 凭证并将其应用于 Perforce 连接。

**注意**  
环境变量出现在带有`openjd_env`前缀的日志中，但为了安全起见，敏感数据（端口、用户、密码）会自动被删除。

**配置步骤**：

1. 创建新的**截止日期 Cloud Perforce 环境**数据资产。  
![“为数据资产实例选择类别” 对话框筛选为 “截止日期”，并选中 Deadline Cloud Perforce 环境。](http://docs.aws.amazon.com/zh_cn/deadline-cloud/latest/userguide/images/unreal-engine-p4-environment.png)

1. 描述性地命名数据资产（例如，ApplyP4SecretEnv“”）。

1. 从中选择`p4_apply_secrets_environment.yml`模板`Content/Python/openjd_templates/p4/`。

1. 配置密钥引用：
   + **在 4INFO 中输入你的 Perforce 凭证密钥名称。AWS\_SECRET\_P**
   + 这应该与中创建的密钥名称相匹配[执行凭证管理](#unreal-engine-perforce-credentials)。  
![应用 Perforce 凭证环境数据资产属性：名称 P4ApplySecrets、模板路径 p4_apply_secrets_environment.yml 和 4INFO 变量设置为。 AWS_SECRET_P P4AccessSecretName](http://docs.aws.amazon.com/zh_cn/deadline-cloud/latest/userguide/images/unreal-engine-p4-apply-secrets-environment.png)

#### 2. 创建 Perforce 同步环境数据资产
<a name="unreal-engine-p4-sync-env"></a>

设置 OpenJD 环境，用于创建 Perforce 工作区、同步来自 Perforce 服务器的文件以及在渲染后清理工作区。

**配置步骤**：

1. 创建新的**截止日期 Cloud Perforce 环境**数据资产。

1. 根据您的舰队类型命名数据资产：
   + **P4SyncSMFEnv**适用于服务管理舰队 (SMF)。
   + **P4SyncCMFEnv**适用于客户管理的车队 (CMF)。

1. 从以下选项中选择相应的模板`Content/Python/openjd_templates/p4/`：
   + **SMF**: `p4_sync_smf_environment.yml`。
   + **CMF**: `p4_sync_cmf_environment.yml`。

1. 配置密钥引用：
   + **在 4INFO 中输入你的 Perforce 凭证密钥名称。AWS\_SECRET\_P**
   + 必须与步骤 1 中的密钥匹配。  
![Perforce 同步环境数据资产属性：名称 P4SyncSmf、模板路径 p4_sync_smf_environment.yml 和 4INFO 变量设置为。 AWS_SECRET_P P4AccessSecretName](http://docs.aws.amazon.com/zh_cn/deadline-cloud/latest/userguide/images/unreal-engine-p4-sync-smf-environment.png)

#### 3. 创建 Perforce 启动 UE 环境数据资产
<a name="unreal-engine-p4-launch-env"></a>

为启动集成了 Perforce 的虚幻引擎设置一个 OpenJD 环境。这将自动引用同步环境创建的 Perforce 工作区。

**配置步骤**：

1. 创建新的**截止日期云环境**数据资产。

1. 描述性地命名数据资产（例如，P4LaunchUEEnv“”）。

1. 从中选择`p4_launch_ue_environment.yml`模板`Content/Python/openjd_templates/p4/`。

1. 配置环境设置：
   + 将 “**远程执行” 设置为。** `True`
   + 此设置启用远程渲染功能。  
![使用 Perforce 环境数据资产属性启动虚幻引擎：名称 LaunchUnrealEditorWithP4、模板路径 p4_launch_ue_environmul.yml，REMOTE_EXECUTION 变量设置为 True。](http://docs.aws.amazon.com/zh_cn/deadline-cloud/latest/userguide/images/unreal-engine-p4-launch-UE-environment.png)

#### 4. 创建 Perforce 渲染步骤数据资源
<a name="unreal-engine-p4-render-step"></a>

设置 OpenJD 渲染步骤以执行渲染过程。

**配置步骤**：

1. 创建新的 De **adline Cloud 渲染步骤**数据资产。  
![“为数据资产实例选择类” 对话框筛选为 “截止日期云”，并选择了 Deadline Cloud 渲染步骤。](http://docs.aws.amazon.com/zh_cn/deadline-cloud/latest/userguide/images/unreal-engine-p4-render-step-data-asset.png)

1. 描述性地命名数据资产（例如，P4RenderStep“”）。

1. 从中选择`p4_render_step.yml`模板`Content/Python/openjd_templates/p4/`。

#### 5. 创建 Perforce 渲染作业数据资产
<a name="unreal-engine-p4-render-job"></a>

设置 OpenJD 渲染作业，以协调整个渲染工作流程。

**配置步骤**：

1. 创建新的 De **adline Cloud Render Job** 数据资源。  
![“为数据资产实例选择类” 对话框筛选为 “截止日期云”，并选择 Deadline Cloud Render Job。](http://docs.aws.amazon.com/zh_cn/deadline-cloud/latest/userguide/images/unreal-engine-p4-render-job-data-asset.png)

1. 描述性地命名数据资产（例如，P4RenderJob“”）。

1. 从中选择`p4_render_job.yml`模板`Content/Python/openjd_templates/p4/`。

1. **查看参数定义**：模板包含以下参数及其默认行为：    
[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_cn/deadline-cloud/latest/userguide/epic-unreal-engine.html)

   **参数配置指南**：
   + **Auto-populated 参数**：将这些参数留空-它们在提交作业时会自动填写。
   + **手动参数**：查看默认值并根据您的特定要求进行调整。
   + **ChunkSize**: 从 1 开始，通过简单的镜头增加以获得更好的性能。  
![Perforce 渲染任务数据资产的参数定义属性、列表、 ProjectRelativePath、、 ProjectName、 PerforceChangelistNumber、 PerforceWorkspaceSpecificationTemplate、、 MrqJobDependenciesDescriptor、 ExtraCmdArgs、 ExtraCmdArgsFile、可执行文件、 CondaPackages CondaChannels、和 ChunkSize 字段。](http://docs.aws.amazon.com/zh_cn/deadline-cloud/latest/userguide/images/unreal-engine-p4-job-parameter-definition.png)

1. **配置环境**（按以下确切顺序）：    
[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_cn/deadline-cloud/latest/userguide/epic-unreal-engine.html)
**重要**  
环境顺序对于正确的依赖关系解析和凭证流程至关重要。

1. **添加渲染步骤**：将 P4RenderStep “” 添加到步骤部分。  
![渲染作业数据资源环境数组，按顺序显示 ApplyP4SecretsEnv P4SyncSMFEnv、、、，并 P4LaunchUEEnv P4RenderStep 添加在 “步骤” 下方。](http://docs.aws.amazon.com/zh_cn/deadline-cloud/latest/userguide/images/unreal-engine-p4-add-environments-and-steps.png)

### 最佳实践
<a name="unreal-engine-p4-best-practices"></a>

#### Pre-submission 清单
<a name="unreal-engine-p4-checklist"></a>
+ **凭证**：正确配置身份凭证（请参阅[执行凭证管理](#unreal-engine-perforce-credentials)）。
+ **工作区**：规范包括所有必要的视图映射。
+ **测试**：在提交大型作业之前，使用小型渲染任务进行测试。
+ **依赖关系**：验证所有项目依赖项均在 Perforce 中且可访问。
+ **权限**：确认工作人员角色有权访问 Secrets Manager。

#### 性能优化
<a name="unreal-engine-p4-perf-optimization"></a>

**区块大小配置**：


| 组块大小 | 使用案例 | 性能影响 | 
| --- | --- | --- | 
| 1-2 次射门 | 复杂镜头，需要详细审查 | 吞吐量更低，质量控制更高 | 
| 4-8 次射门 | 平衡工作量，典型项目 | 速度和可管理性的最佳平衡 | 
| 10 次以上镜头 | 简单镜头，批量处理 | 最大吞吐量，最低开销 | 

考虑以下其他优化：
+ **依赖关系**：尽量减少不必要的资源依赖关系，以减少同步时间。
+ **工作区视图**：优化 Perforce 工作区视图以仅同步所需的文件。

#### 监控和调试
<a name="unreal-engine-p4-monitoring"></a>
+ **作业日志**：在作业执行日志中监控 Perforce 同步进程。
+ **工作区状态**：检查工作区创建和同步完成情况。
+ **依赖项收集**：验证已捕获所有必需的资产。
+ **性能指标**：跟踪同步时间和渲染性能。

### 问题排查
<a name="unreal-engine-p4-troubleshooting"></a>

#### 常见问题和解决方案
<a name="unreal-engine-p4-common-issues"></a>


| 问题 | 症状 | 解决方案 | 
| --- | --- | --- | 
| P4 连接失败 | 身份验证错误，超时 | 验证 Perforce 凭据；检查网络连接；验证 Perforce 服务器的可访问性 | 
| 工作区同步错误 | 同步失败，权限被拒绝 | 检查 Perforce 用户权限；验证工作空间规范；确保变更列表存在 | 
| 缺少依赖关系 | 渲染失败、资源缺失 | 查看MrqJobDependenciesDescriptor；检查软参考文献集；验证 Perforce 中的所有资产 | 
| 路径解析问题 | 未找到文件错误 | 验证P4\_CLIENT\_DIRECTORY变量；检查环境顺序；验证工作空间根路径 | 

#### 调试步骤
<a name="unreal-engine-p4-debug-steps"></a>

1. **查看作业日志**：查看 Perforce 同步环境日志，了解详细的错误消息。

1. **验证工作空间**：确保 Perforce 工作空间规范正确。

1. **本地测试：在**提交者计算机上验证 Perforce 操作是否有效。

1. **验证权限**：确认工作人员角色具有秘密访问权限（如果使用 Secrets Manager）。

## 自定义主机要求
<a name="unreal-engine-host-requirements"></a>

本节介绍如何在虚幻引擎中为Deadline Cloud渲染创建和使用自定义主机要求。

### 概述
<a name="unreal-engine-host-overview"></a>

主机要求定义了哪些队列有资格运行特定的渲染步骤。它们存储在`UDeadlineCloudHostRequirements`资源中，然后由`DeadlineCloudRenderStep`资源引用。


| 需求类型 | 配置位置 | 使用案例 | 
| --- | --- | --- | 
| 基本系统要求 | CPU/RAM /GPU 字段 | 将渲染限制在具有特定硬件的计算机上 | 
| 自定义金额要求 | 名称 \+ min/max 值 | 需要数字资源级别（许可证、令牌、配额） | 
| 自定义属性要求 | 属性 \+ 值列表 | 队列需要自定义属性才能运行该步骤 | 

**注意**  
使用眼睛图标隐藏需求只会将其隐藏在 MRQ Submit 用户界面中。提交工作时，该要求仍然适用。

**重要**  
[用于自定义金额要求`Name`和自定义属性要求的和`Attribute`值必须严格匹配官方 Open Job Description 文档：Open Job Specifications 中定义的有效标识符。](https://github.com/OpenJobDescription/openjd-specifications/wiki/2023-09-Template-Schemas#33-hostrequirements)

### 步骤 1：创建主机需求资产
<a name="unreal-engine-host-step1"></a>

1. 在虚幻引擎中打开内容浏览器。

1. 创建新资产：**添加** → **其他** → **数据资产** → **DeadlineCloudHostRequirements**。

1. 例如，为资产命名`MyHostRequirements`。

### 第 2 步：加载默认 YAML 模板
<a name="unreal-engine-host-step2"></a>

1. 在资源详细信息面板中，找到 “**模板路径**” 字段。

1. 选择默认模板：`Plugins/UnrealDeadlineCloudService/Content/Python/openjd_templates/host_requirements.yml`。

这将加载基本要求，例如 CPU、内存、GPU、操作系统和架构。

**注意**  
基本要求无法删除；只能更改其值。

### 步骤 3：配置基本（系统）要求
<a name="unreal-engine-host-step3"></a>


| 设置 | 示例 | 
| --- | --- | 
| 操作系统 | windows | 
| CPU 架构 | x86\_64 | 
| vCPU（最小值） | 16 | 
| GPU（最小值） | 1 | 

如果 Max = 0，则该要求没有上限。

### 第 4 步：添加自定义金额要求
<a name="unreal-engine-host-step4"></a>

当要求为数字（例如，许可证数量、并发限制）时使用。

1. 找到 “**自定义金额要求**” 部分。

1. 添加新条目并设置名称，例如：`amount.custom.license`。

1. 设置最小值和最大值：
   + 最小：1。
   + 最大值：0（0 表示无限制）。

### 步骤 5：添加自定义属性要求
<a name="unreal-engine-host-step5"></a>

用于根据标签和标签筛选工作人员。

1. 找到 “**自定义属性要求”** 部分。

1. 添加新的属性名称，例如：`attr.custom.gpu.vendor`。

1. 选择匹配规则：
   + **AllOf**-所有值都必须匹配。
   + **AnyOf**-必须至少有一个匹配。

1. 输入用空格分隔的属性值，例如：`nvidia amd`。

### 步骤 6：在 MRQ 中的可见性（可选）
<a name="unreal-engine-host-step6"></a>

每个要求条目都有一个眼睛图标。


| 眼睛 | 行为 | 
| --- | --- | 
| Visible | 该要求显示在 MRQ 提交用户界面中 | 
| 隐藏 | 该要求已隐藏，但在提交工作时仍包含在内 | 

此设置可用于简化美术师的用户界面，同时保留技术限制。

### 步骤 7：将要求附加到渲染步骤
<a name="unreal-engine-host-step7"></a>

1. 打开相关`DeadlineCloudRenderStep`资产。

1. 找到 “**主机要求**” 字段。

1. 分配您创建的资产（例如，`MyHostRequirements`）。

现在，使用此步骤提交的所有 MRQ 都会强制执行您的主机选择逻辑。

### Summary
<a name="unreal-engine-host-summary"></a>

使用主机需求资产，您可以：
+ 控制哪些工作计算机执行您的渲染作业。
+ 指定最低资源水平。
+ 使用属性匹配来定位特定的工作人员池。
+ 简化用户界面，同时保持技术规则不变。
+ 在多个 MRQ 步骤中重复使用设置。

此设置提高了作业路由的一致性，并确保在正确的硬件上进行渲染。

## 高级配置
<a name="unreal-engine-advanced-configurations"></a>

### Service-managed 舰队与客户管理的车队
<a name="unreal-engine-fleet-types"></a>

#### Service-managed 舰队 (SMF)
<a name="unreal-engine-smf"></a>

在服务管理的舰队中，虚幻引擎和适配器可使用带有默认队列环境的 `deadline-cloud` conda频道自动使用。此设置提供了最简单的体验。

#### Customer-managed 舰队 (CMF)
<a name="unreal-engine-cmf"></a>

对于客户管理的舰队，必须手动在工作主机上安装虚幻引擎和适配器。此设置提供了更多的控制并支持 Perforce 集成等其他功能。有关详细说明，请参阅[设置客户管理车队 (CMF) 工作人员](#unreal-engine-cmf-worker-setup)。

## 虚幻引擎渲染功能
<a name="unreal-engine-rendering-features"></a>

虚幻引擎的渲染系统为以下内容提供全面支持：


| 功能 | 说明 | 注意 | 
| --- | --- | --- | 
| 影片渲染队列 | High-quality 离线渲染 | 与作业提交集成 | 
| 音序器 | Timeline-based 动画系统 | 自动镜头检测和处理 | 
| 项目插件 | 自定义插件支持 | 自动检测和包含 | 
| 资产依赖关系 | 内容文件管理 | 全面的资产跟踪 | 
| 粘性渲染 | 两次镜头之间的应用程序持久性 | 提高了多镜头序列的性能 | 

所有渲染功能均由虚幻引擎集成提交者自动检测和配置。该适配器可以保持适当的依赖关系处理，并且无需重启虚幻引擎即可支持高效的多镜头渲染。

## 开源资源
<a name="unreal-engine-open-source"></a>

提交者和适配器是开源的，可在以下网址获得： GitHub
+ [虚幻引擎的最后期限云](https://github.com/aws-deadline/deadline-cloud-for-unreal-engine)