

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# Epic Unreal 引擎
<a name="epic-unreal-engine"></a>

Unreal Engine 是一種即時 3D 建立工具，適用於擬真視覺效果和沉浸式體驗。使用提交者、Conda 套件和轉接器的 Deadline Cloud 支援 Unreal Engine，以提高渲染效能。本指南提供step-by-step說明，透過跨多部機器分配轉譯任務，更快速地轉譯您的 Movie Render 佇列專案。

## 支援概觀
<a name="unreal-engine-support-overview"></a>

下列元件支援 Unreal Engine：
+ **提交者**：整合式提交者外掛程式，用於透過自動場景和資產偵測從 Unreal Engine 直接提交任務。
+ **Conda 套件**：在服務受管機群上自動安裝的截止日期 Cloud。
+ **轉接器**：中介軟體，可透過黏性工作階段和其他監控有效率地轉譯。
+ **跨平台相容性**：僅限 Windows 的提交者和工作者支援。
+ **電影渲染佇列整合**：支援 Unreal 的電影渲染佇列系統。

## Unreal Engine 版本相容性
<a name="unreal-engine-version-compatibility"></a>

下表顯示 Unreal Engine 版本的目前支援層級：


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

## 截止日期雲端 Conda 頻道
<a name="unreal-engine-conda-channel"></a>

下表列出適用於 Unreal Engine 的所有 `deadline-cloud` conda 套件，可供 Conda 頻道中的服務受管機群使用：


| 作業系統 | 套件 | 版本 | 
| --- | --- | --- | 
| Windows | unreal-engine | 5.4 | 
| Windows | unreal-engine | 5.5 | 
| Windows | unreal-engine | 5.6 | 
| Windows | unreal-engine | 5.7 | 
| Windows | unreal-engine-openjd |  | 

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

### 先決條件
<a name="unreal-engine-prerequisites"></a>

在安裝 Unreal Engine 提交者之前，請確定您有下列項目：
+ Windows 工作站 (Windows 10 或更新版本）
+ 支援的 Unreal Engine 版本已安裝
+ 已安裝截止日期雲端監視器 ([在此處下載](https://docs.aws.amazon.com/deadline-cloud/latest/userguide/monitor-onboarding.html))
+ 使用具備 GPU 功能的 Windows 服務受管機群或具有 Unreal Engine、Unreal Engine 轉接器和授權設定的客戶受管機群存取截止日期雲端陣列

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

Unreal Engine 提交者將 Deadline Cloud 功能新增為 Unreal Engine 的外掛程式，可讓您將 Movie Render 佇列任務直接提交至 Deadline Cloud 進行轉譯。

### 選擇您的分支
<a name="unreal-engine-choose-branch"></a>

為您的部署選取適當的分支：


| 分支 | 穩定性 | 使用案例 | 建議用於 | 
| --- | --- | --- | --- | 
| 版本 | 穩定 | 生產 | 大多數使用者 | 
| 主線 | 最新功能 | 開發和測試 | 進階使用者 | 

**提示**  
使用生產環境的**發行**分支來確保穩定性。

### 建立新的 Windows Amazon EC2 執行個體以在 上安裝 Unreal （選用）
<a name="unreal-engine-create-ec2"></a>

如果您要在全新的 Windows Amazon Elastic Compute Cloud (Amazon EC2) 執行個體上設定 做為提交者，則具有 200 GB 儲存空間的 g5.2xlarge 執行個體是合理的下限：

1. 使用有效的執行個體設定檔啟動 Amazon EC2 執行個體。這是下載 NVIDIA GRID 驅動程式的必要項目，如下所示。

1. 下載 Epic Installer 並安裝支援的 Unreal 版本 (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 for Unreal Engine 提交者或轉接器之前，我們建議您啟用 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)。

[工作者代理程式上也有未設定為支援 Windows 長路徑的相依性所造成的開啟問題](https://github.com/aws-deadline/deadline-cloud-worker-agent/issues/520)。當您設定工作者時，請遵循連結問題中的解決方法步驟，以完全支援 Windows 長路徑，直到問題解決為止。

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

Unreal 提交者外掛程式目前必須在本機編譯。

1. 使用 Visual Studio [安裝程式安裝 Visual Studio](https://visualstudio.microsoft.com/)。

1. 檢查 Epic 相容性[資料表，確認您的 Visual Studio 和建置工具版本與您的 Unreal 版本相容](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 Monitor 用於管理將任務提交至 Deadline Cloud 的登入資料，並監控任務的狀態。

1. 遵循[截止日期雲端監視器安裝指示](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 Scripts 資料夾的路徑 （例如，`C:\Program Files\Python312\scripts`)。
   + Unreal 二進位檔的路徑 （例如 `C:\Program Files\Epic Games\UE_5.5\Engine\Binaries\Win64`)。

### 截止日期 雲端軟體安裝
<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`選擇性地自動執行接下來的兩個步驟。它會嘗試尋找最新版本的 Unreal、建置您的外掛程式和 Python 相依性，並將它們安裝在正確的位置。您可以覆寫設定，例如 Unreal 版本。若要查看完整的說明清單，請執行：

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

若要使用最新的 Unreal Engine 安裝，建置並安裝目前的 複本`deadline-cloud-for-unreal-engine`做為提交者，請執行：

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

如果您已成功使用此指令碼安裝 ，您可以跳至 [建立機群](#unreal-engine-create-fleet)。

### 建置 外掛程式
<a name="unreal-engine-build-plugin"></a>

根據安裝 Unreal 所在的位置和安裝 的位置，調整以下前兩個路徑`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"
```

將上方的「套件」資料夾複製到 Unreal 安裝的外掛程式資料夾 （例如，`C:\Program Files\Epic Games\UE_5.5\Engine\Plugins\UnrealDeadlineCloudService`)。

### Python 相依性
<a name="unreal-engine-python-deps"></a>

有 4 種方式可以安裝所需的 Python 相依性。

1. 如果您已從上述版本分支建置並安裝外掛程式，您可以從 pip 安裝 。使用以下安裝命令，調整 Unreal 安裝的路徑：

```
"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`)，您可以新增符合 GitHub/PyPI `deadline-cloud-for-unreal-engine`中最新版本 的`PythonRequirements`區段，例如：

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

您可能想要在 Unreal 的 Python 設定中停用「嚴格雜湊」功能，或為想要使用的特定程式庫和相依版本新增雜湊設定。

3. 如果您要從主線提取，您可能有尚未發佈至 PyPI 的 Python 相依性 - 您將需要建置和安裝本機複本，這些複本可以使用雜湊完成。需要變更`.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. 從截止日期雲端 AWS 主控台的下載索引標籤或工作站設定 → 下載下的截止日期雲端監視器中下載提交者安裝程式。

1. 為所有使用者執行安裝程式。預設安裝位置沒問題。

1. 啟用 Unreal Engine 外掛程式。

1. 請確定 Unreal Engine 外掛程式安裝路徑符合您的外掛程式複製到其中的位置 （尤其請確定您的 Unreal 版本相符）。

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

Unreal Editor 啟動時，提交者外掛程式會自動檢查 GitHub 上是否有較新的版本。如果有可用的更新，對話方塊會提示您造訪發行頁面。

若要停用更新通知，請在截止日期雲端設定面板 (**編輯** > **專案設定** > **外掛程式** > **截止日期雲端**) 的一般**設定**下取消核取**顯示提交者更新通知**。

或者，您可以使用 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。在[服務受管機群 (SMFs)](https://docs.aws.amazon.com/deadline-cloud/latest/userguide/smf-manage.html) 上，Unreal Engine 和轉接器會使用具有[預設佇列環境](https://docs.aws.amazon.com/deadline-cloud/latest/userguide/create-queue-environment.html#conda-queue-environment)的 `deadline-cloud` conda 通道自動提供。您已準備好開始轉譯。繼續[提交測試轉譯](#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 環境，並意外使用提交至 CMF 之任務的預設 SMF 特定變數。如果您在 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) 來設定您的工作者節點，以執行 Unreal Engine 任務。

## 提交測試轉譯
<a name="unreal-engine-test-render"></a>

此範例使用 Unreal Marketplace 中的 Meerkat 示範：

1. 啟動 Epic Games Launcher。

1. 從**範例**索引標籤安裝 Meerkat 示範。

1. 從 Meerkat 示範建立專案，然後將其開啟。

1. 在**編輯**功能表中，選取**外掛程式**，搜尋並啟用 **UnrealDeadlineCloudService**。

1. 如果您是第一次啟用外掛程式，請重新啟動 Unreal。

1. 在**編輯** > **專案設定**下，搜尋**電影渲染管道**區段。
   + 針對**預設遠端執行器**，選取 **MoviePipelineDeadlineCloudRemoteExecutor**。
   + 針對**預設執行器任務**，選取 **MoviePipelineDeadlineCloudExecutorJob**。
   + 在**預設任務設定類別**下，選擇新增圖示，然後新增 **DeadlineCloudRenderStepSetting**。

1. 搜尋**截止日期雲端**設定並驗證身分驗證：
   + 確保您的狀態顯示 "AUTHENTICATED"，而截止日期雲端 API 顯示 "AUTHORIZED"。
   + 如果未顯示，請先嘗試使用**登入**按鈕。如果無法運作，請開啟截止日期雲端監視器，並確保您已登入。
   + 在**截止日期雲端工作站組態**區段中：
     + 在**全域設定**下，確保您的 AWS 設定檔正確設定為您的截止日期雲端監控設定檔。
     + 在**設定檔**下，確保您的預設陣列設定為您的陣列。
     + 在**陣列**下，確保您的預設佇列設定為與您上面設定之機群相關聯的佇列。

1. 退出專案設定視窗。

1. 選擇 **Windows**、**電影**、**電影渲染佇列**。
   + 選擇 **\+ 轉譯**，然後選取 **Main\_SEQ**。
   + 在設定欄中選擇 **UnsavedConfig**。
     + 在快顯視窗中，您應該會看到左側的截止日期雲端設定。然後可以關閉此視窗。
   + 在對話方塊右側，設定任務設定：
     + **在預設覆寫**下 （您可能需要擴大此對話方塊）：
       + 展開**任務共用設定**：
         + 將 **Name (名稱)** 設定為 `Unreal Test Job`。
         + 將**重試次數上限**設定為 2。
       + 展開**任務附件**：
         + 在**輸入檔案**下，選取**顯示自動偵測**。
         + 確認自動偵測的檔案清單已正確填入。
     + 在**任務範本覆寫**下：
       + 如果您使用的版本與 5.6 不同，請在 **CondaPackages** 中更新 Unreal Engine 版本。
         + Unreal Engine 版本自動偵測即將在未來版本推出。
   + 選擇**轉譯 （遠端）**。

1. 您可以前往截止日期雲端監控，並觀看任務進度。

## 設定客戶受管機群 (CMF) 工作者
<a name="unreal-engine-cmf-worker-setup"></a>

本節將逐步引導您設定 Amazon EC2 執行個體做為 Deadline Cloud with Unreal Engine 的 CMF 工作者。

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

以下是 CMF 和 SMF 之間的主要差異：
+ **CMF**：在工作者主機上手動安裝 Unreal Engine 和轉接器。
+ **SMF**：透過 `deadline-cloud` conda 頻道自動可用性。

### 選擇您的分支
<a name="unreal-engine-cmf-choose-branch"></a>

為您的部署選取適當的分支：


| 分支 | 穩定性 | 使用案例 | 
| --- | --- | --- | 
| 版本 | 穩定 | 生產部署 | 
| 主線 | 最新 | 開發和測試 | 

**重要**  
確保您的工作者版本與您的提交者版本相符，以避免相容性問題。

### Amazon EC2 執行個體設定
<a name="unreal-engine-cmf-ec2-setup"></a>

以下是建議的執行個體組態：
+ **執行個體類型**：g5.2xlarge 或更高版本。
+ **儲存**：最低 200 GB。
+ **作業系統**：Windows Server 2019/2022。

#### 軟體安裝
<a name="unreal-engine-cmf-software-install"></a>

**1。安裝 Unreal Engine**：

1. 下載 Epic Games Launcher。

1. 安裝 Unreal Engine 5.4 或更高版本。
**注意**  
最終雲端相容性需要 Unreal Engine 5.4\+。

**2. 安裝 NVIDIA GRID 驅動程式**：
+ 遵循 [AWS NVIDIA GRID 驅動程式安裝指南](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/install-nvidia-driver.html#nvidia-GRID-driver)。
+ Amazon EC2 執行個體上的 GPU 加速轉譯需要。

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

Unreal 外掛程式目前必須在本機編譯。

1. 使用 Visual Studio [安裝程式安裝 Visual Studio](https://visualstudio.microsoft.com/)。

1. 檢查 Epic 相容性[資料表，確認您的 Visual Studio 和建置工具版本與您的 Unreal 版本相容](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-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`，可以自動化剩餘的安裝步驟。它會嘗試尋找最新版本的 Unreal、建置您的外掛程式和 python 相依性，並將它們安裝在正確的位置。例如要使用的 Unreal 版本之類的設定可以覆寫。若要查看完整的說明清單，請執行：

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

若要使用最新的 Unreal Engine 安裝，以工作者`deadline-cloud-for-unreal-engine`身分建置和安裝目前的 複本，請執行：

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

透過執行下列動作來設定截止日期雲端工作者代理程式：

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

如果您已使用此指令碼安裝 並成功設定工作者代理程式，您可以跳至 [啟動截止日期雲端工作者代理程式服務](#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>

根據安裝 Unreal 所在的位置和安裝 的位置，調整以下前兩個路徑`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"
```

將上方的「套件」資料夾複製到 Unreal 安裝的外掛程式資料夾 （例如，`C:\Program Files\Epic Games\UE_5.5\Engine\Plugins\UnrealDeadlineCloudService`)。

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

Unreal 的 Python 版本將需要 pywin32。使用 Unreal 的第三方 Python 安裝複本進行 Pip 安裝：

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

### 啟動截止日期雲端工作者代理程式服務
<a name="unreal-engine-cmf-start-agent"></a>

在您的 CMF 工作者執行個體上：

1. 開啟**任務管理員**。

1. 選擇右側的**服務**索引標籤。

1. 尋找 **DeadlineWorker**。
   + 如果您沒有看到它，您可能會錯過 [CMF 主機設定](https://docs.aws.amazon.com/deadline-cloud/latest/developerguide/worker-host.html#worker-agent-config)步驟中的步驟 (`install-deadline-worker`特別是）。

1. 如果服務的狀態目前不是「執行中」，請在服務上按一下滑鼠右鍵，然後選取**開始**。

1. 如果您的 DeadlineWorker 服務未啟動，請檢查下列位置的工作者代理程式啟動日誌：
   + `C:\ProgramData\Amazon\Deadline\Logs\worker-agent.log`
   + `C:\ProgramData\Amazon\Deadline\Logs\queue-<queueid>\session-<sessionid>.log`

## Perforce 登入資料管理
<a name="unreal-engine-perforce-credentials"></a>

本節涵蓋將 Perforce 與截止日期雲端工作者整合的安全登入資料管理。

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

有數種方法可以為截止日期雲端工作者設定 Perforce 登入資料。每個方法都有不同的安全性影響和使用案例：


| Method | 安全層級 | 部署支援 | 建議用途 | 
| --- | --- | --- | --- | 
| AWS Secrets Manager (Secrets Manager) | 高 | SMF \+ CMF | 生產 （建議） | 
| 任務環境變數 | 低 | SMF \+ CMF | 僅限開發和測試 | 
| 佇列環境變數 | 低 | SMF \+ CMF | 僅限開發和測試 | 
| Windows 登錄檔 | 中 | 僅限 CMF | 舊版 CMF 設定 | 
| 預先設定的管理員使用者 | 中 | 僅限 CMF | 簡化的 CMF 設定 | 

**重要**  
將 Secrets Manager 用於生產環境。它提供具有稽核線索的集中式加密登入資料儲存，並適用於 SMF 和 CMF 部署。

### P4 登入資料基本概念
<a name="unreal-engine-p4-cred-basics"></a>

若要擷取連線設定，包括 Perforce 伺服器 URL 和連接埠、使用者名稱和密碼，Perforce 遵循下列優先順序：

1. Perforce (P4) 的任何架構中的連線參數 (`p4python.P4`例如）。

1. 使用者/系統環境變數：`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 登入資料存放在一個加密位置。
+ **沒有登入資料公開**：登入資料永遠不會出現在任務組態或日誌中。
+ **自動輪換**：支援登入資料輪換，無需重新設定任務。
+ **稽核追蹤**：追蹤登入資料存取和用量。
+ **全域支援**：適用於 CMF 和 SMF 部署。
+ **日誌修訂**：在任務日誌中自動修訂連線憑證。

#### 步驟 1：在 Secrets Manager 中建立秘密
<a name="unreal-engine-p4-create-secret"></a>

建立包含 Perforce 連線參數的秘密。

**必要的鍵/值對**：
+ `P4PORT` - Perforce 伺服器 URL 和連接埠。
+ `P4USER` - Perforce 使用者名稱。
+ `P4PASSWD` - Perforce 密碼。

**重要**  
金鑰名稱必須與 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](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)、[ugs\_sync\_smf\_environment](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) 或 CMF 的類似環境中。或者，建立新的環境範本，並在任務前面加上它。

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

此方法具有下列安全風險：
+ 登入資料會顯示在任務組態中。
+ 密碼可能會出現在日誌中 （未自動修訂）。
+ 無集中式憑證管理。
+ 難以輪換登入資料。

### 佇列環境變數
<a name="unreal-engine-p4-queue-env"></a>

**警告**  
此方法不建議用於生產，因為它會將登入資料存放在佇列組態中。使用 Secrets Manager 進行安全登入資料管理。

根據[截止日期雲端使用者指南](https://docs.aws.amazon.com/deadline-cloud/latest/userguide/create-queue-environment.html)，您可以使用佇列環境為佇列中的任務提供軟體應用程式、環境變數和其他資源。佇列環境範例可在 [ deadline-cloud-samples 的 queue\_environments 資料夾中](https://github.com/aws-deadline/deadline-cloud-samples/tree/mainline/queue_environments)找到。

#### 使用截止日期雲端監視器或主控台新增佇列環境
<a name="unreal-engine-p4-add-env-dcm"></a>

1. 開啟截止日期雲端監視器或 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 部署。

### 預先設定的管理員使用者 （僅限 CMF)
<a name="unreal-engine-p4-admin-user"></a>

**重要**  
此解決方案僅適用於您可以直接設定工作者主機的 CMF。對於 SMF 部署，請使用 Secrets Manager。

建立專用 P4 使用者來轉譯具有非過期連線的節點，以消除傳遞秘密資料的需求，例如使用者名稱和密碼。在此情況下，單一專用 P4 使用者可用來連線至所有 P4 伺服器，包括可存取專案儲存庫的 Commit （主要） 和 Edge 伺服器。

因此，只有在工作者上未設定預設值時，您只需要傳遞要連線的連接埠。這可以透過在類似上述步驟的工作環境或佇列環境中新增下列項目來實現：

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

## 建立 Perforce 轉譯任務
<a name="unreal-engine-perforce-render-job"></a>

本節將逐步引導您設定 Perforce 整合的轉譯任務資料資產，以便從 Unreal Engine 將 Perforce 整合的轉譯任務提交至 Deadline Cloud。

### 先決條件
<a name="unreal-engine-p4-prerequisites"></a>

在 Perforce 儲存庫中從 Unreal Engine 提交電影渲染佇列 (MRQ) 任務之前：

**不真實的專案設定**：
+ 專案必須在 Perforce 工作區內。
+ 確認 Perforce 連線已建立且您已登入。

**截止日期雲端設定**：
+ 完成 [安裝提交者](#unreal-engine-installation)。
+ [Perforce 登入資料管理](#unreal-engine-perforce-credentials) 為工作者設定 。

**Perforce 要求**：
+ 具有專案檔案的有效 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 的安全 Perforce 登入資料應用程式。
+ **儲存庫同步**：工作區管理的其他 Perforce 同步環境。
+ **路徑解析**：環境變數參考 Perforce 工作區路徑。
+ **相依性收集**：Perforce 追蹤資產的自動收集和同步。

### 設定 Perforce 轉譯任務元件
<a name="unreal-engine-p4-setup-components"></a>

請依照下列步驟建立 Perforce 整合轉譯任務所需的資料資產。

#### 1. 建立套用 Perforce Credentials 資料資產
<a name="unreal-engine-p4-apply-credentials"></a>

設定 OpenJD 環境以從 Secrets Manager 擷取 Perforce 登入資料，並將其套用至 Perforce 連線。

**注意**  
環境變數會出現在字`openjd_env`首為 的日誌中，但為了安全起見，系統會自動修訂敏感資料 （連接埠、使用者、密碼）。

**組態步驟**：

1. 建立新的**截止日期 Cloud Perforce Environment** 資料資產。  
![為資料資產執行個體選擇類別對話方塊篩選為「截止日期」，並選取截止日期的 Cloud Perforce 環境。](http://docs.aws.amazon.com/zh_tw/deadline-cloud/latest/userguide/images/unreal-engine-p4-environment.png)

1. 以描述性方式命名資料資產 （例如，「ApplyP4SecretEnv」)。

1. 從 選取`p4_apply_secrets_environment.yml`範本`Content/Python/openjd_templates/p4/`。

1. 設定秘密參考：
   + 在 **AWS\_SECRET\_P4INFO** 中輸入您的 Perforce 登入資料秘密名稱。
   + 這應與在 中建立的秘密名稱相符[Perforce 登入資料管理](#unreal-engine-perforce-credentials)。  
![套用 Perforce 登入資料環境資料資產屬性：名稱 P4ApplySecrets、範本 p4_apply_secrets_environment.yml 的路徑，以及將 AWS_SECRET_P4INFO 變數設定為 P4AccessSecretName。](http://docs.aws.amazon.com/zh_tw/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 Environment** 資料資產。

1. 根據您的機群類型命名資料資產：
   + 適用於服務受管機群 (SMF) 的 **P4SyncSMFEnv**。
   + 適用於客戶受管機群 (CMF) 的 **P4SyncCMFEnv**。

1. 從 選取適當的範本`Content/Python/openjd_templates/p4/`：
   + **SMF**：`p4_sync_smf_environment.yml`。
   + **CMF**：`p4_sync_cmf_environment.yml`。

1. 設定秘密參考：
   + 在 **AWS\_SECRET\_P4INFO** 中輸入您的 Perforce 登入資料秘密名稱。
   + 必須符合步驟 1 中的秘密。  
![Perforce 同步環境資料資產屬性：名稱 P4SyncSmf、範本 p4_sync_smf_environment.yml 的路徑，以及將 AWS_SECRET_P4INFO 變數設定為 P4AccessSecretName。](http://docs.aws.amazon.com/zh_tw/deadline-cloud/latest/userguide/images/unreal-engine-p4-sync-smf-environment.png)

#### 3. 建立 Perforce Launch UE 環境資料資產
<a name="unreal-engine-p4-launch-env"></a>

設定 OpenJD 環境以啟動具有 Perforce 整合的 Unreal Engine。這會自動參考由同步環境建立的 Perforce 工作區。

**組態步驟**：

1. 建立新的**截止日期雲端環境**資料資產。

1. 以描述性方式命名資料資產 （例如，「P4LaunchUEEnv」)。

1. 從 選取`p4_launch_ue_environment.yml`範本`Content/Python/openjd_templates/p4/`。

1. 設定環境設定：
   + 將 **REMOTE\_EXECUTION** 設定為 `True`。
   + 此設定會啟用遠端轉譯功能。  
![使用 Perforce 環境資料資產屬性啟動 Unreal Engine：名稱 LaunchUnrealEditorWithP4、範本 p4_launch_ue_environment.yml 的路徑，以及 REMOTE_EXECUTION 變數設定為 True。](http://docs.aws.amazon.com/zh_tw/deadline-cloud/latest/userguide/images/unreal-engine-p4-launch-UE-environment.png)

#### 4. 建立 Perforce 轉譯步驟資料資產
<a name="unreal-engine-p4-render-step"></a>

設定執行轉譯程序的 OpenJD 轉譯步驟。

**組態步驟**：

1. 建立新的**截止日期雲端轉譯步驟**資料資產。  
![選擇資料資產執行個體類別對話方塊，篩選為「截止日期雲端」，並選取截止日期雲端轉譯步驟。](http://docs.aws.amazon.com/zh_tw/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. 建立新的**截止日期雲端轉譯任務**資料資產。  
![選擇資料資產執行個體類別對話方塊，篩選為「截止日期雲端」，並選取截止日期雲端轉譯任務。](http://docs.aws.amazon.com/zh_tw/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_tw/deadline-cloud/latest/userguide/epic-unreal-engine.html)

   **參數組態準則**：
   + **自動填入的參數**：保留這些空白 - 它們會在任務提交期間自動填入。
   + **手動參數**：檢閱預設值並根據您的特定需求進行調整。
   + **ChunkSize**：從 1 開始，透過簡單的鏡頭提高效能。  
![Perforce 轉譯任務資料資產的參數定義屬性，列出 ProjectRelativePath、ProjectName、PerforceChangelistNumber、PerforceWorkspaceSpecificationTemplate、MrqJobDependenciesDescriptor、ExtraCmdArgs、ExtraCmdArgsFile、Excutive、CondaPackages、CondaChannels 和 ChunkSize 欄位。](http://docs.aws.amazon.com/zh_tw/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_tw/deadline-cloud/latest/userguide/epic-unreal-engine.html)
**重要**  
環境順序對於適當的相依性解析和登入資料流程至關重要。

1. **新增轉譯步驟**：將「P4RenderStep」新增至步驟區段。  
![轉譯任務資料資產環境陣列，依序顯示 ApplyP4SecretsEnv、P4SyncSMFEnv 和 P4LaunchUEEnv，並在步驟下新增 P4RenderStep。](http://docs.aws.amazon.com/zh_tw/deadline-cloud/latest/userguide/images/unreal-engine-p4-add-environments-and-steps.png)

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

#### 提交前檢查清單
<a name="unreal-engine-p4-checklist"></a>
+ **登入**資料：已正確設定 Perforce 登入資料 （請參閱 [Perforce 登入資料管理](#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>

本節說明如何建立和使用 Unreal Engine 中 Deadline Cloud 轉譯的自訂主機需求。

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

主機需求定義哪些機群有資格執行特定的轉譯步驟。它們存放在`UDeadlineCloudHostRequirements`資產中，然後由`DeadlineCloudRenderStep`資產參考。


| 要求類型 | 組態位置 | 使用案例 | 
| --- | --- | --- | 
| 基本系統需求 | CPU/RAM/GPU 欄位 | 限制對具有特定硬體的機器進行轉譯 | 
| 自訂金額要求 | 名稱 \+ 最小值/最大值 | 需要數值資源層級 （授權、字符、配額） | 
| 自訂屬性需求 | 屬性 \+ 值清單 | 機群執行 步驟所需的自訂屬性 | 

**注意**  
使用眼睛圖示隱藏需求只會將其隱藏在 MRQ 提交 UI 中。提交任務時，需求仍然適用。

**重要**  
用於自訂金額要求和自訂屬性要求的 `Name`和 `Attribute`值必須嚴格符合官方開放任務描述文件中定義的有效識別符：[開放任務規格](https://github.com/OpenJobDescription/openjd-specifications/wiki/2023-09-Template-Schemas#33-hostrequirements)。

### 步驟 1：建立主機需求資產
<a name="unreal-engine-host-step1"></a>

1. 在 Unreal Engine 中開啟內容瀏覽器。

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 | 
| vCPUs（最小值） | 16 | 
| GPUs （最小值） | 1 | 

如果最大值 = 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>

每個要求項目都有一個眼睛圖示。


| 眼睛 | Behavior (行為) | 
| --- | --- | 
| Visible (顯示) | 需求會顯示在 MRQ 提交 UI 中 | 
| Hidden | 提交任務時，需求會隱藏但仍包含 | 

此設定有助於簡化藝術家的 UI，同時保留技術限制條件。

### 步驟 7：將需求連接至轉譯步驟
<a name="unreal-engine-host-step7"></a>

1. 開啟相關`DeadlineCloudRenderStep`資產。

1. 尋找**主機需求**欄位。

1. 指派您建立的資產 （例如 `MyHostRequirements`)。

使用此步驟的所有 MRQ 提交現在會強制執行您的主機選取邏輯。

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

使用主機需求資產，您可以：
+ 控制哪些工作者機器執行您的轉譯任務。
+ 指定最低資源層級。
+ 使用屬性比對將特定工作者集區設為目標。
+ 簡化 UI，同時保持技術規則不變。
+ 在多個 MRQ 步驟中重複使用設定。

此設定可改善任務路由一致性，並確保轉譯發生在正確的硬體上。

## 進階組態。
<a name="unreal-engine-advanced-configurations"></a>

### 服務受管機群與客戶受管機群
<a name="unreal-engine-fleet-types"></a>

#### 服務受管機群 (SMF)
<a name="unreal-engine-smf"></a>

在服務受管機群上，Unreal Engine 和轉接器會自動使用具有預設佇列環境的 `deadline-cloud` conda 頻道。此設定提供最簡單的體驗。

#### 客戶受管機群 (CMF)
<a name="unreal-engine-cmf"></a>

對於客戶管理的機群，必須在工作者主機上手動安裝 Unreal Engine 和轉接器。此設定提供更多控制，並支援其他功能，例如 Perforce 整合。如需詳細說明，請參閱 [設定客戶受管機群 (CMF) 工作者](#unreal-engine-cmf-worker-setup)。

## Unreal Engine 轉譯功能
<a name="unreal-engine-rendering-features"></a>

Unreal Engine 的轉譯系統提供以下項目的完整支援：


| 功能 | 說明 | 備註 | 
| --- | --- | --- | 
| 電影渲染佇列 | 高品質離線轉譯 | 與任務提交整合 | 
| 排序器 | 時間軸型動畫系統 | 自動拍攝偵測和處理 | 
| 專案外掛程式 | 自訂外掛程式支援 | 自動偵測和包含 | 
| 資產相依性 | 內容檔案管理 | 全方位資產追蹤 | 
| 黏性轉譯 | 拍攝之間的應用程式持久性 | 改善多鏡頭序列的效能 | 

Unreal Engine 整合提交者會自動偵測和設定所有轉譯功能。轉接器會維護適當的相依性處理，並支援高效的多鏡頭轉譯，而無需重新啟動 Unreal Engine。

## 開放原始碼資源
<a name="unreal-engine-open-source"></a>

提交者和轉接器是開放原始碼，可在 GitHub 上取得：
+ [Unreal Engine 的截止日期雲端](https://github.com/aws-deadline/deadline-cloud-for-unreal-engine)