本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
史诗虚幻引擎
虚幻引擎是一款实时 3D 创作工具,可提供逼真的视觉效果和身临其境的体验。虚幻引擎由 Deadline Cloud 提供支持,包括提交者、conda 包和用于提高渲染性能的适配器。本指南提供了分步说明,说明如何使用带有虚幻引擎的 Deadline Cloud,通过在多台计算机上分配渲染任务来更快地渲染影片渲染队列项目。
Support 概述
虚幻引擎由以下组件支持:
-
提交者:集成的提交者插件,用于从虚幻引擎直接提交作业,具有自动场景和资产检测功能。
-
Conda 软件包:Deadline Cloud,用于在服务管理的车队上自动安装。
-
Adaptor:中间件,可通过粘性会话和额外监控实现高效渲染。
-
Cross-platform 兼容性:仅适用于 Windows 的提交者和工作人员支持。
-
电影渲染队列集成:支持虚幻引擎的电影渲染队列系统。
虚幻引擎版本兼容性
下表显示了虚幻引擎版本的当前支持级别:
| 主要版本 | 提交者 Support | Conda Support |
|---|---|---|
| 5.4 | Windows | Windows |
| 5.5 | Windows | Windows |
| 5.6 | Windows | Windows |
| 5.7 | Windows | Windows |
截止日期云 Conda 频道
下表列出了适用于虚幻引擎的所有conda软件包,可供 deadline-cloud conda Service-managed 频道中的舰队使用:
| OS | 程序包 | 版本 |
|---|---|---|
| Windows | 虚幻引擎 | 5.4 |
| Windows | 虚幻引擎 | 5.5 |
| Windows | 虚幻引擎 | 5.6 |
| Windows | 虚幻引擎 | 5.7 |
| Windows | 虚幻引擎 openjd |
开始使用
先决条件
在安装虚幻引擎提交器之前,请确保具备以下条件:
-
Windows 工作站(Windows 10 或更高版本)
-
安装了支持的虚幻引擎版本
-
Deadline 云监控器已安装(点击此处下载)
-
使用 GPU-enabled Windows服务管理的队列或使用虚幻引擎、虚幻引擎适配器并设置许可的客户管理队列访问Deadline Cloud农场
安装提交者
虚幻引擎提交者将 Deadline Cloud 功能作为插件添加到虚幻引擎,允许你将影片渲染队列任务直接提交到 Deadline Cloud 进行渲染。
选择你的分行
为您的部署选择合适的分支:
| 分支 | 稳定性 | 使用案例 | 推荐用于 |
|---|---|---|---|
| 释放 | 稳定 | 生产 | 大多数用户 |
| 主线 | 最新功能 | 开发和测试 | 高级用户 |
提示
在生产环境中使用发布分支以确保稳定性。
创建用于安装虚幻引擎的新 Windows Amazon EC2 实例(可选)
如果您以提交者的身份在全新的Windows亚马逊弹性计算云 (Amazon EC2) 实例上进行设置,那么具有 200 GB 存储空间的 g5.2xlarge 实例是合理的最低值:
使用有效的实例配置文件启动一个 Amazon EC2 实例。这是按照以下说明下载 NVIDIA GRID 驱动程序所必需的。
-
下载 Epic 安装程序并安装支持的虚幻版本(5.4-5.7)。
使用 DirectX 11 插件运行时,UE 5.5 存在已知的崩溃错误(参见 UE 问题 #UE-276282)。如果你需要在 UE 5.5 上支持 DirectX,请使用 DirectX 12 或更高版本。
NVIDIA GRID 驱动程序-按照 Windows 安装说明进行操作。
Windows 漫长的路径
以下许多步骤可能会创建超过默认的 Windows 最大路径长度的文件。在你在 Windows 计算机上构建和安装虚幻引擎提交者或适配器的 Deadline Cloud 之前,我们建议你启用 Windows 长路径支持。为此,请按照 “最大文件路径限制
工作器代理上还有一个未解决的问题
安装构建工具
虚幻提交者插件目前必须在本地编译。
使用视觉工作室安装程序安装 Visual Studio
。 在 “单个组件” 下,确保所选的 MSVC 生成工具版本(默认为 “最新”)与表中的推荐版本相匹配。尽管兼容性指南可能建议使用 “或更高版本”,但使用比 “推荐” 列出的版本更新的版本时,有时会出现构建错误。
在 “单个组件” 下,选择最新的.NET Framework SDK(4.6.1 和 4.8.1 已通过验证)。
在 “工作负载” 下,选择 “使用 C++ 进行桌面开发”。
安装截止日期云监视器
Deadline Cloud 监控器既用于管理您向 Deadline Cloud 提交作业的凭据,又用于监控您的作业状态。
按照 De adline Cloud 监视器安装说明
登录。
环境设置
(如果尚未安装)为所有用户安装最新版本的 Python(已通过 3.12 验证)。
-
确保您的环境变量设置正确。在系统环境变量中,您的 PATH 必须包括:
安装 Python 的路径(例如,
C:\Program Files\Python312)。您的 Python 脚本文件夹(例如
C:\Program Files\Python312\scripts)的路径。虚幻二进制文件的路径(例如,
C:\Program Files\Epic Games\UE_5.5\Engine\Binaries\Win64)。
截止日期 Cloud 软件安装
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
要以提交者deadline-cloud-for-unreal-engine身份构建并安装你当前安装的虚幻引擎副本,请运行:
python scripts/build_plugin.py --install
如果您已成功安装此脚本,则可以跳至创建舰队。
编译插件
根据你安装的虚幻引擎的位置和安装位置,调整下面的前两条路径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 依赖项
有 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 依赖项可以由提交者安装程序安装。这些可能与你上面发布的版本或主线分支中的代码已经过时了,目前不应该首选这种方法。
从 Deadline Cloud AWS 控制台的 “下载” 选项卡或在 “工作站设置” → “下载” 下的 Deadline Cloud 监视器中下载提交者安装程序。
为所有用户运行安装程序。默认安装位置没问题。
启用虚幻引擎插件。
确保虚幻引擎插件的安装路径与你的插件被复制到的位置相匹配(尤其要确保你的虚幻版本匹配)。
更新通知
GitHub 当虚幻编辑器启动时,提交者插件会自动检查是否有较新的版本。如果有更新可用,则会出现一个对话框,提示您访问发布页面。
要停用更新通知,请取消选中 Deadline Cloud 设置面板(编辑 > 项目设置 > 插件 > Deadline Cloud)中 “常规设置” 下的 “显示提交者更新通知”。
或者,你可以使用 CLI:
deadline config set settings.submitter_update_notification false
要重新启用:
deadline config set settings.submitter_update_notification true
创建舰队
如果你已经有一个 Windows 队列并且不需要设置新的队列,你可以直接跳到提交测试渲染。
创建服务托管队列 (SMF)
如果您还没有 SMF,请按照服务管理队列用户指南创建 SMF。在服务管理舰队 (SMF) 上,虚幻引擎和适配器可使用带有默认队列环境的 deadline-cloud conda 通道自动使用。你已经准备好开始渲染了。继续执行提交测试渲染以下操作,提交测试渲染作业。
创建客户管理的车队 (CMF)
-
如果您还没有 CMF,请按照创建客户管理的队列来创建 CMF。
警告
将 CMF 与队列关联时,如果您不使用默认 conda 队列环境,请将其删除。这将防止使用 conda 环境以及意外使用提交到 CM SMF-specific F 的作业的默认变量。如果您在 CMF 中使用 conda,请记得在提交
CondaPackages作业时更新参数定义覆盖中的CondaChannels变量。 按照工作主机的设置和配置来设置工作主机。
按照管理对 Windows 作业用户密钥的访问权限为你的 CMF 工作人员设置 Windows 作业用户密钥。
按照安装和配置作业所需的软件来安装运行作业所需的软件。
按照步骤设置客户管理车队 (CMF) 工作人员设置你的工作节点来运行虚幻引擎作业。
提交测试渲染
此示例使用虚幻商城中的猫鼬演示:
启动 Epic Games 启动器。
从 “示例” 选项卡中安装 Meerkat 演示。
从 Meerkat Demo 中创建一个项目,然后将其打开。
从 “编辑” 菜单中选择 “插件”,搜索并启用UnrealDeadlineCloudService。
如果你是第一次启用该插件,请重启虚幻引擎。
-
在 “编辑” > “项目设置” 下,搜索 “影片渲染管道” 部分。
在 “默认远程执行器” 中,选择MoviePipelineDeadlineCloudRemoteExecutor。
在 “默认 Executor Job” 中,选择MoviePipelineDeadlineCloudExecutorJob。
在 “默认 Job 设置类别” 下,选择 “添加” 图标,然后添加DeadlineCloudRenderStepSetting。
-
搜索 De adline Cloud 设置并验证身份验证:
确保您的状态显示为 “已验证”,并且 Deadline Cloud API 显示为 “已授权”。
如果未出现,请先尝试使用 “登录” 按钮。如果这不起作用,请打开 Deadline Cloud 监视器并确保你已登录。
-
在 De adline 云工作站配置部分:
在 “全局设置” 下,确保您的 AWS 配置文件已正确设置为 Deadline Cloud 监控配置文件。
在 “配置文件” 下,确保您的默认服务器场设置为您的农场。
在 Farm 下,确保您的默认队列设置为与您在上面设置的队列关联的队列。
退出 “项目设置” 窗口。
-
选择 Windows、Cinematic s、影片渲染队列。
选择 + 渲染,然后选择Main_SEQ。
-
UnsavedConfig在设置栏中选择。
在弹出窗口中,您应该在左侧看到 Deadline Cloud 设置。然后可以关闭此窗口。
-
在对话框的右侧,配置作业设置:
-
在 “预设覆盖” 下(您可能需要扩大此对话框):
-
展开 Job 共享设置:
将名称设置为
Unreal Test Job。将最大重试次数设置为 2。
-
展开 Job 附件:
在 “输入文件” 下,选择 “显示” Auto-Detected。
验证自动检测到的文件列表是否正确填充。
-
-
在 “Job 模板替代” 下:
-
CondaPackages如果您使用的版本不同于5.6,请更新虚幻引擎版本。
虚幻引擎版本自动检测将在未来的版本中推出。
-
-
选择 “渲染(远程)”。
你可以前往 Deadline Cloud 监控器查看你的工作进度。
设置客户管理车队 (CMF) 工作人员
本节将引导你使用虚幻引擎将 Amazon EC2 实例设置为 Deadline Cloud 的 CMF 工作程序。
概述
以下是 CMF 和 SMF 之间的主要区别:
CMF:在工作主机上手动安装虚幻引擎和适配器。
SMF:通过
deadline-cloudconda 频道自动上线。
选择你的分行
为您的部署选择合适的分支:
| 分支 | 稳定性 | 使用案例 |
|---|---|---|
| 释放 | 稳定 | 生产部署 |
| 主线 | 最新 | 开发和测试 |
重要
确保您的工作人员版本与您的提交者版本相匹配,以避免出现兼容性问题。
亚马逊 EC2 实例设置
以下是推荐的实例配置:
实例类型:g5.2xlarge 或更高版本。
存储空间:至少 200 GB。
操作系统:Windows 服务器 2019/2022。
软件安装
1。安装虚幻引擎:
下载 Epic Games 启动器。
-
安装虚幻引擎 5.4 或更高版本。
注意
需要使用虚幻引擎 5.4+ 才能兼容 Deadline Cloud。
2。安装 NVIDIA 网格驱动程序:
在 Amazon EC2 实例上进行 GPU-accelerated 渲染所必需的。
安装构建工具
虚幻插件目前必须在本地编译。
使用视觉工作室安装程序安装 Visual Studio
。 在 “单个组件” 下,确保所选的 MSVC 生成工具版本(默认为 “最新”)与表中的推荐版本相匹配。
在 “单个组件” 下,选择最新的.NET Framework SDK(4.6.1 和 4.8.1 已通过验证)。
在 “工作负载” 下,选择 “使用 C++ 进行桌面开发”。
截止日期 Cloud 软件安装
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 工作者代理服务。
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
构建插件
根据你安装的虚幻引擎的位置和安装位置,调整下面的前两条路径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
虚幻引擎版本的 Python 需要使用 pywin32。使用虚幻引擎的第三方 Python 安装副本安装 Pip:
"C:\Program Files\Epic Games\UE_5.5\Engine\Binaries\ThirdParty\Python3\Win64\python" -m pip install pywin32
启动 Deadline Cloud 工作者代理服务
在你的 CMF 工作器实例上:
打开任务管理器。
选择右侧的 “服务” 选项卡。
-
查找DeadlineWorker。
如果您没有看到它列出,则可能错过了 CMF 主机设置步骤
install-deadline-worker中的步骤(特别是)。
如果服务的状态当前不是 “正在运行”,请右键单击该服务并选择 “启动”。
-
如果您的 DeadlineWorker 服务未启动,请查看以下位置的工作代理启动日志:
C:\ProgramData\Amazon\Deadline\Logs\worker-agent.logC:\ProgramData\Amazon\Deadline\Logs\queue-<queueid>\session-<sessionid>.log
执行凭证管理
本节介绍将 Perforce 与 Deadline Cloud 工作人员集成的安全凭据管理。
概述
有几种方法可以为 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 凭证基础知识
要检索连接设置,包括 Perforce 服务器 URL 和端口、用户名和密码,Perforce 遵循以下优先级:
Perforce (P4) 的任何框架中的连接参数(
p4python.P4例如)。User/system 环境变量:
P4PORT、P4USER、P4CLIENT、P4PASSWD。Windows 注册表:
HKEY_LOCAL_MACHINE\SOFTWARE\Perforce\Environment(系统范围的设置)或HKEY_CURRENT_USER\SOFTWARE\Perforce\Environment(用户特定的设置)。
有了这些优先级,如果你有以下设置:
连接参数
password是password.from.connection环境变量
%P4PORT%是ssl:perforce.from.env:1666Windows 注册表
HKEY_CURRENT_USER\SOFTWARE\Perforce\Environment:P4PORT是ssl:perforce.from.registry:1666Windows 注册表
HKEY_CURRENT_USER\SOFTWARE\Perforce\Environment:P4USER是user.from.registryWindows 注册表
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(推荐)
Secrets Manager 为 CMF 和 SMF 部署提供了最安全、最具扩展性的解决方案。
此方法具有以下优势:
集中式安全:将所有 P4 凭据存储在一个加密位置。
不泄露凭证:凭据永远不会出现在作业配置或日志中。
自动轮换:Support 支持凭证轮换,无需重新配置作业。
审计跟踪:跟踪凭证访问和使用情况。
通用支持:适用于 CMF 和 SMF 部署。
日志修改:在作业日志中自动删除连接凭据。
第 1 步:在 Secrets Manager 中创建密钥
创建一个包含您的 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" }
要创建密钥,请执行以下操作:
打开 Secrets Manager 控制台。
选择 “存储新密钥”。
选择 “其他类型的机密”。
输入上面的键值对。
命名您的密钥(例如,
deadline-cloud-p4-credentials)。完成创建过程
第 2 步:授予工作人员访问密钥的权限
工作人员需要获得访问密钥的secretsmanager:GetSecretValue许可。这遵循与管理 Windows 作业用户密钥相同的模式。
要授予访问权限:
打开 Secrets Manager 控制台并导航到您的密钥。
-
在 “资源权限” 部分中,添加以下策略:
{ "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "QUEUE_ROLE_ARN" }, "Action": [ "secretsmanager:GetSecretValue" ], "Resource": "*" } ] } QUEUE_ROLE_ARN替换为您的实际队列角色 ARN。保存策略。
注意
保存密钥名称——配置 P4 渲染作业时需要它。创建 Perforce 渲染作业有关后续步骤,请参阅。
作业环境变量
警告
不建议在生产环境中使用这种方法,因为它会在作业配置和日志中公开凭据。在生产环境中使用 Secrets Manager。
您可以在创建工作空间的作业环境中传递连接凭据,例如在 p4_sync_smf_environment、ugs_sync_smf_environment 或 CMF 的类似环境
name: P4Credentials variables: P4PORT: ssl:my-perforce.com:1666 P4USER: j.doe P4PASSWD: MyVeRyS3cretP4ssW0rd
这种方法存在以下安全风险:
证书在作业配置中可见。
密码可能会出现在日志中(不会自动删除)。
没有集中式凭证管理。
难以轮换证书。
队列环境变量
警告
不建议在生产环境中使用这种方法,因为它会将凭据存储在队列配置中。使用 Secrets Manager 进行安全的凭据管理。
根据 De adline Cloud 用户指南,您可以使用队列环境为队列中的作业提供软件应用程序、环境变量和其他资源。队列环境示例可以在截止日期云样本的 queue_environments 文件夹中
使用 Deadline 云监控器或控制台添加队列环境
打开 Deadline 云监控器或 AWS 控制台。
导航到您正在使用的服务器场和队列。
选择 “队列环境” 选项卡。
选择 “操作”,然后选择 “使用 YAML 新建”。
-
添加以下内容并保存:
specificationVersion: environment-2023-09 name: P4Credentials variables: P4PORT: ssl:my-perforce.com:1666 P4USER: j.doe P4PASSWD: MyVeRyS3cretP4ssW0rd
使用 CLI 添加队列环境
使用上面的示例创建一个
p4_credentials.yaml文件。-
运行以下 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)
重要
此解决方案仅适用于可以直接配置工作主机的CMF。对于 SMF 部署,请使用 Secrets Manager。
Windows 注册表在工作计算机上提供本地凭据存储。此方法使用标准 Perforce 优先级系统,其中凭据存储在:
HKEY_LOCAL_MACHINE\SOFTWARE\Perforce\Environment(系统范围的设置)。HKEY_CURRENT_USER\SOFTWARE\Perforce\Environment(用户特定的设置)。
此方法仅适用于您可以直接访问配置工作器计算机的 CMF 部署。
Pre-configured 管理员用户(仅限 CMF)
重要
此解决方案仅适用于可以直接配置工作主机的CMF。对于 SMF 部署,请使用 Secrets Manager。
为具有未到期连接的渲染节点创建专用 P4 用户,无需传递用户名和密码等机密数据。在这种情况下,可以使用单个专用 P4 用户连接到所有 P4 服务器,包括可访问项目仓库的提交(主服务器)和边缘服务器。
因此,如果未在 workers 上配置默认端口,则只需传递要连接的端口。这可以通过在作业环境或队列环境中添加以下内容来实现,类似于上面记录的步骤:
name: P4Sync variables: P4PORT: ssl:my-perforce.com:1666
创建 Perforce 渲染作业
本节将引导你配置 Perforce-integrated 渲染作业数据资产,这样你就可以从虚幻引擎向 Deadline Cloud 提交 Perforce-integrated 渲染作业。
先决条件
在 Perforce 存储库中使用虚幻引擎提交影片渲染队列 (MRQ) 作业之前:
虚幻项目设置:
项目必须位于 Perforce 工作区内。
验证 Perforce 连接是否已建立,并且您已登录。
截止日期云设置:
性能要求:
包含项目文件的有效 Perforce 工作区。
同步操作的适当的 Perforce 权限。
Perforce 渲染作业架构
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 渲染作业组件
按照以下步骤创建 Perforce-integrated 渲染作业所需的数据资产。
1. 创建应用性能凭证数据资产
设置 OpenJD 环境,用于从 Secrets Manager 检索 Perforce 凭证并将其应用于 Perforce 连接。
注意
环境变量出现在带有openjd_env前缀的日志中,但为了安全起见,敏感数据(端口、用户、密码)会自动被删除。
配置步骤:
-
创建新的截止日期 Cloud Perforce 环境数据资产。
描述性地命名数据资产(例如,ApplyP4SecretEnv“”)。
从中选择
p4_apply_secrets_environment.yml模板Content/Python/openjd_templates/p4/。-
配置密钥引用:
在 4INFO 中输入你的 Perforce 凭证密钥名称。AWS_SECRET_P
这应该与中创建的密钥名称相匹配执行凭证管理。
2. 创建 Perforce 同步环境数据资产
设置 OpenJD 环境,用于创建 Perforce 工作区、同步来自 Perforce 服务器的文件以及在渲染后清理工作区。
配置步骤:
创建新的截止日期 Cloud Perforce 环境数据资产。
-
根据您的舰队类型命名数据资产:
P4SyncSMFEnv适用于服务管理舰队 (SMF)。
P4SyncCMFEnv适用于客户管理的车队 (CMF)。
-
从以下选项中选择相应的模板
Content/Python/openjd_templates/p4/:SMF:
p4_sync_smf_environment.yml。CMF:
p4_sync_cmf_environment.yml。
-
配置密钥引用:
在 4INFO 中输入你的 Perforce 凭证密钥名称。AWS_SECRET_P
必须与步骤 1 中的密钥匹配。
3. 创建 Perforce 启动 UE 环境数据资产
为启动集成了 Perforce 的虚幻引擎设置一个 OpenJD 环境。这将自动引用同步环境创建的 Perforce 工作区。
配置步骤:
创建新的截止日期云环境数据资产。
描述性地命名数据资产(例如,P4LaunchUEEnv“”)。
从中选择
p4_launch_ue_environment.yml模板Content/Python/openjd_templates/p4/。-
配置环境设置:
将 “远程执行” 设置为。
True此设置启用远程渲染功能。
4. 创建 Perforce 渲染步骤数据资源
设置 OpenJD 渲染步骤以执行渲染过程。
配置步骤:
-
创建新的 De adline Cloud 渲染步骤数据资产。
描述性地命名数据资产(例如,P4RenderStep“”)。
从中选择
p4_render_step.yml模板Content/Python/openjd_templates/p4/。
5. 创建 Perforce 渲染作业数据资产
设置 OpenJD 渲染作业,以协调整个渲染工作流程。
配置步骤:
-
创建新的 De adline Cloud Render Job 数据资源。
描述性地命名数据资产(例如,P4RenderJob“”)。
从中选择
p4_render_job.yml模板Content/Python/openjd_templates/p4/。-
查看参数定义:模板包含以下参数及其默认行为:
参数 说明 Auto-filled 所需操作 ProjectRelativePath相对于 Perforce 工作空间根目录的项目路径 是 留空-自动填充 ProjectName创建 Perforce 工作区的项目名称 是 留空-自动填充 PerforceChangelistNumber执行变更列表以将工作空间同步到 是 留空-自动填充 PerforceWorkspaceSpecificationTemplate使用令牌执行客户规范 {workspace_name}是 留空-自动填充 MrqJobDependenciesDescriptor具有 MRQ 依赖关系的 JSON 文件用于同步 是 留空-自动填充 ExtraCmdArgsFile用于额外参数的文件(避免 1024 个字符的限制) 否 可选-使用默认设置进行标准设置 FramesPerTask每个任务要渲染的帧数 否 可选-使用默认 (0) 按镜头划分任务 ExtraCmdArgs虚幻引擎发布的其他论点 否 可选-使用默认设置进行标准设置 Executable渲染节点的虚幻可执行文件名称 否 配置-使用默认设置进行标准设置 CondaPackages呈现任务所需的 Conda 软件包 否 配置-使用默认设置进行标准设置 CondaChannels存放包裹的 Conda 频道 否 配置-使用默认设置进行标准设置 ChunkSize在单个渲染会话中分组的镜头数量 否 配置-默认:1(针对性能进行调整) MarketplacePluginsDir引擎之路 Marketplace 插 是 留空-自动填充 参数配置指南:
Auto-populated 参数:将这些参数留空-它们在提交作业时会自动填写。
手动参数:查看默认值并根据您的特定要求进行调整。
ChunkSize: 从 1 开始,通过简单的镜头增加以获得更好的性能。
-
配置环境(按以下确切顺序):
Order 环境 用途 第 1 天 "ApplyP4SecretEnv" 应用 Secrets Manager 的 Perforce 凭证 第 2 “P4SyncSMFEnv” 或 “P4SyncCMFEnv” 同步 Perforce 工作空间和文件 第 3 名 "P4LaunchUEEnv" 使用 Perforce 路径启动虚幻引擎 重要
环境顺序对于正确的依赖关系解析和凭证流程至关重要。
-
添加渲染步骤:将 P4RenderStep “” 添加到步骤部分。
最佳实践
Pre-submission 清单
凭证:正确配置身份凭证(请参阅执行凭证管理)。
工作区:规范包括所有必要的视图映射。
测试:在提交大型作业之前,使用小型渲染任务进行测试。
依赖关系:验证所有项目依赖项均在 Perforce 中且可访问。
权限:确认工作人员角色有权访问 Secrets Manager。
性能优化
区块大小配置:
| 组块大小 | 使用案例 | 性能影响 |
|---|---|---|
| 1-2 次射门 | 复杂镜头,需要详细审查 | 吞吐量更低,质量控制更高 |
| 4-8 次射门 | 平衡工作量,典型项目 | 速度和可管理性的最佳平衡 |
| 10 次以上镜头 | 简单镜头,批量处理 | 最大吞吐量,最低开销 |
考虑以下其他优化:
依赖关系:尽量减少不必要的资源依赖关系,以减少同步时间。
工作区视图:优化 Perforce 工作区视图以仅同步所需的文件。
监控和调试
作业日志:在作业执行日志中监控 Perforce 同步进程。
工作区状态:检查工作区创建和同步完成情况。
依赖项收集:验证已捕获所有必需的资产。
性能指标:跟踪同步时间和渲染性能。
问题排查
常见问题和解决方案
| 问题 | 症状 | 解决方案 |
|---|---|---|
| P4 连接失败 | 身份验证错误,超时 | 验证 Perforce 凭据;检查网络连接;验证 Perforce 服务器的可访问性 |
| 工作区同步错误 | 同步失败,权限被拒绝 | 检查 Perforce 用户权限;验证工作空间规范;确保变更列表存在 |
| 缺少依赖关系 | 渲染失败、资源缺失 | 查看MrqJobDependenciesDescriptor;检查软参考文献集;验证 Perforce 中的所有资产 |
| 路径解析问题 | 未找到文件错误 | 验证P4_CLIENT_DIRECTORY变量;检查环境顺序;验证工作空间根路径 |
调试步骤
查看作业日志:查看 Perforce 同步环境日志,了解详细的错误消息。
验证工作空间:确保 Perforce 工作空间规范正确。
本地测试:在提交者计算机上验证 Perforce 操作是否有效。
验证权限:确认工作人员角色具有秘密访问权限(如果使用 Secrets Manager)。
自定义主机要求
本节介绍如何在虚幻引擎中为Deadline Cloud渲染创建和使用自定义主机要求。
概述
主机要求定义了哪些队列有资格运行特定的渲染步骤。它们存储在UDeadlineCloudHostRequirements资源中,然后由DeadlineCloudRenderStep资源引用。
| 需求类型 | 配置位置 | 使用案例 |
|---|---|---|
| 基本系统要求 | CPU/RAM /GPU 字段 | 将渲染限制在具有特定硬件的计算机上 |
| 自定义金额要求 | 名称 + min/max 值 | 需要数字资源级别(许可证、令牌、配额) |
| 自定义属性要求 | 属性 + 值列表 | 队列需要自定义属性才能运行该步骤 |
注意
使用眼睛图标隐藏需求只会将其隐藏在 MRQ Submit 用户界面中。提交工作时,该要求仍然适用。
重要
步骤 1:创建主机需求资产
在虚幻引擎中打开内容浏览器。
创建新资产:添加 → 其他 → 数据资产 → DeadlineCloudHostRequirements。
例如,为资产命名
MyHostRequirements。
第 2 步:加载默认 YAML 模板
在资源详细信息面板中,找到 “模板路径” 字段。
选择默认模板:
Plugins/UnrealDeadlineCloudService/Content/Python/openjd_templates/host_requirements.yml。
这将加载基本要求,例如 CPU、内存、GPU、操作系统和架构。
注意
基本要求无法删除;只能更改其值。
步骤 3:配置基本(系统)要求
| 设置 | 示例 |
|---|---|
| 操作系统 | windows |
| CPU 架构 | x86_64 |
| vCPU(最小值) | 16 |
| GPU(最小值) | 1 |
如果 Max = 0,则该要求没有上限。
第 4 步:添加自定义金额要求
当要求为数字(例如,许可证数量、并发限制)时使用。
找到 “自定义金额要求” 部分。
添加新条目并设置名称,例如:
amount.custom.license。-
设置最小值和最大值:
最小:1。
最大值:0(0 表示无限制)。
步骤 5:添加自定义属性要求
用于根据标签和标签筛选工作人员。
找到 “自定义属性要求” 部分。
添加新的属性名称,例如:
attr.custom.gpu.vendor。-
选择匹配规则:
AllOf-所有值都必须匹配。
AnyOf-必须至少有一个匹配。
输入用空格分隔的属性值,例如:
nvidia amd。
步骤 6:在 MRQ 中的可见性(可选)
每个要求条目都有一个眼睛图标。
| 眼睛 | 行为 |
|---|---|
| Visible | 该要求显示在 MRQ 提交用户界面中 |
| 隐藏 | 该要求已隐藏,但在提交工作时仍包含在内 |
此设置可用于简化美术师的用户界面,同时保留技术限制。
步骤 7:将要求附加到渲染步骤
打开相关
DeadlineCloudRenderStep资产。找到 “主机要求” 字段。
分配您创建的资产(例如,
MyHostRequirements)。
现在,使用此步骤提交的所有 MRQ 都会强制执行您的主机选择逻辑。
Summary
使用主机需求资产,您可以:
控制哪些工作计算机执行您的渲染作业。
指定最低资源水平。
使用属性匹配来定位特定的工作人员池。
简化用户界面,同时保持技术规则不变。
在多个 MRQ 步骤中重复使用设置。
此设置提高了作业路由的一致性,并确保在正确的硬件上进行渲染。
高级配置
Service-managed 舰队与客户管理的车队
Service-managed 舰队 (SMF)
在服务管理的舰队中,虚幻引擎和适配器可使用带有默认队列环境的 deadline-cloud conda频道自动使用。此设置提供了最简单的体验。
Customer-managed 舰队 (CMF)
对于客户管理的舰队,必须手动在工作主机上安装虚幻引擎和适配器。此设置提供了更多的控制并支持 Perforce 集成等其他功能。有关详细说明,请参阅设置客户管理车队 (CMF) 工作人员。
虚幻引擎渲染功能
虚幻引擎的渲染系统为以下内容提供全面支持:
| 功能 | 说明 | 注意 |
|---|---|---|
| 影片渲染队列 | High-quality 离线渲染 | 与作业提交集成 |
| 音序器 | Timeline-based 动画系统 | 自动镜头检测和处理 |
| 项目插件 | 自定义插件支持 | 自动检测和包含 |
| 资产依赖关系 | 内容文件管理 | 全面的资产跟踪 |
| 粘性渲染 | 两次镜头之间的应用程序持久性 | 提高了多镜头序列的性能 |
所有渲染功能均由虚幻引擎集成提交者自动检测和配置。该适配器可以保持适当的依赖关系处理,并且无需重启虚幻引擎即可支持高效的多镜头渲染。
开源资源
提交者和适配器是开源的,可在以下网址获得: GitHub