

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# エピック Unreal エンジン
<a name="epic-unreal-engine"></a>

Unreal Engine は、フォトリアルなビジュアルと没入型エクスペリエンスのためのリアルタイムの 3D 作成ツールです。Unreal Engine は、送信者、conda パッケージ、レンダリングパフォーマンスを向上させるアダプターを備えた Deadline Cloud でサポートされています。このガイドでは、Deadline Cloud と Unreal Engine を使用して、レンダリングタスクを複数のマシンに分散することで、映画レンダリングキュープロジェクトをより迅速にレンダリングするためのstep-by-stepの手順を示します。

## サポートの概要
<a name="unreal-engine-support-overview"></a>

Unreal Engine は、次のコンポーネントでサポートされています。
+ **送信者**: Unreal Engine から直接ジョブを送信するための統合送信者プラグイン。シーンとアセットの自動検出機能を備えています。
+ **Conda パッケージ**: サービスマネージドフリートへの自動インストールの Deadline Cloud。
+ **アダプター**: スティッキーセッションと追加のモニタリングによる効率的なレンダリングのためのミドルウェア。
+ **クロスプラットフォーム互換性**: Windows のみの送信者とワーカーのサポート。
+ **Movie Render Queue Integration**: Unreal の Movie Render Queue システムのサポート。

## 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 | 

## Deadline Cloud Conda チャネル
<a name="unreal-engine-conda-channel"></a>

次の表に、conda チャネルのサービスマネージドフリートで使用できる Unreal Engine に適用されるすべての `deadline-cloud` conda パッケージを示します。


| OS | パッケージ | バージョン | 
| --- | --- | --- | 
| 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 がインストールされている
+ Deadline Cloud Monitor のインストール ([ここでダウンロード](https://docs.aws.amazon.com/deadline-cloud/latest/userguide/monitor-onboarding.html))
+ GPU 対応の Windows サービスマネージドフリート、または Unreal Engine、Unreal Engine アダプター、ライセンス設定を備えたカスタマーマネージドフリートのいずれかを使用した Deadline Cloud ファームへのアクセス

## 送信者のインストール
<a name="unreal-engine-installation"></a>

Unreal Engine 送信者は Deadline Cloud 機能を Unreal Engine のプラグインとして追加し、映画レンダリングキュージョブを Deadline Cloud に直接送信してレンダリングできるようにします。

### ブランチの選択
<a name="unreal-engine-choose-branch"></a>

デプロイに適したブランチを選択します。


| ブランチ | 安定性 | ユースケース | 以下のために使用することをお勧めします | 
| --- | --- | --- | --- | 
| リリース | Stable | 本番稼働 | ほとんどのユーザー | 
| メインライン | 最新の機能 | 開発とテスト | 上級ユーザー | 

**ヒント**  
本番環境の**リリース**ブランチを使用して、安定性を確保します。

### Unreal をインストールする新しい Windows Amazon EC2 インスタンスの作成 (オプション)
<a name="unreal-engine-create-ec2"></a>

新しい Windows Amazon Elastic Compute Cloud (Amazon EC2) インスタンスを送信者として設定する場合、200 GB のストレージを持つ g5.2xlarge インスタンスは妥当な最小値です。

1. 有効なインスタンスプロファイルを使用して Amazon EC2 インスタンスを起動します。これは、以下に示すように NVIDIA GRID ドライバーをダウンロードするために必要です。

1. エピックインストーラをダウンロードし、サポートされているバージョンの Unreal (5.4 - 5.7) をインストールします。
   + DirectX 11 プラグインで実行する場合、UE 5.5 には既知のクラッシュバグがあります (「UE issue \#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 最大パス長を超えるファイルを作成する場合があります。Deadline Cloud for Unreal Engine 送信者またはアダプターを Windows マシンにビルドしてインストールする前に、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 [Installer を使用して Visual Studio](https://visualstudio.microsoft.com/) をインストールします。

1. [エピック互換性テーブルを確認して、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\+\+ を使用したデスクトップ開発**を選択します。

### Deadline Cloud Monitor のインストール
<a name="unreal-engine-install-monitor"></a>

Deadline Cloud モニターは、Deadline Cloud にジョブを送信するための認証情報を管理し、ジョブのステータスをモニタリングするために使用されます。

1. [Deadline 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 Scripts フォルダへのパス (例: `C:\Program Files\Python312\scripts`)。
   + Unreal バイナリへのパス (例: `C:\Program Files\Epic Games\UE_5.5\Engine\Binaries\Win64`)。

### Deadline 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`、オプションで次の 2 つのステップを自動化します。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 のインストール場所と のインストール場所に基づいて、以下の最初の 2 つのパスを調整します`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>

必要な Python 依存関係をインストールする方法は 4 つあります。

1. 上記のリリースブランチからプラグインを構築してインストールした場合は、pip から をインストールできます。次の install コマンドを使用して、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. メインラインからプルする場合、Python 依存関係がまだ PyPI にリリースされていない可能性があります。ローカルコピーを構築してインストールする必要があります。これは、ハッチで実行できます。`.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. Unreal Engine プラグインを有効にします。

1. Unreal Engine プラグインのインストールパスが、プラグインがコピーされた場所と一致していることを確認します (特に Unreal バージョンが一致していることを確認します）。

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

送信者プラグインは、Unreal Editor の起動時に GitHub で新しいリリースを自動的に確認します。更新が利用可能な場合、リリースページにアクセスするように求めるダイアログが表示されます。

更新通知を無効にするには、「Deadline Cloud settings」パネルの**「General Settings**」(**Edit** > **Project Settings** > **Plugins** > **Deadline Cloud**) で「**Show submitter update notifications**」のチェックボックスをオフにします。

または、 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 をキューに関連付ける場合は、デフォルトの 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. エピックゲームランチャーを起動します。

1. **サンプル**タブから Meerkat デモをインストールします。

1. Meerkat デモからプロジェクトを作成し、開きます。

1. **編集**メニューからプラグインを選択し****、**UnrealDeadlineCloudService** を検索して有効にします。

1. プラグインを初めて有効にした場合は、Unreal を再起動します。

1. **Edit** > **Project Settings** で、**Movie Render Pipeline** セクションを検索します。
   + **デフォルトのリモートエグゼキュター**で、**MoviePipelineDeadlineCloudRemoteExecutor** を選択します。
   + **デフォルトのエグゼキュタージョブ**で、**MoviePipelineDeadlineCloudExecutorJob** を選択します。
   + **デフォルトのジョブ設定クラス**で、追加アイコンを選択し、**DeadlineCloudRenderStepSetting** を追加します。

1. **Deadline Cloud **設定を検索し、認証を確認します。
   + ステータスが「AUTHENTICATED」と表示され、Deadline Cloud API が「AUTHORIZED」と表示されていることを確認します。
   + 表示されない場合は、まず**ログイン**ボタンを使用してみます。これが機能しない場合は、Deadline Cloud Monitor を開き、ログインしていることを確認します。
   + **「Deadline Cloud Workstation Configuration**」セクションで、次の操作を行います。
     + **グローバル設定**で、AWS プロファイルが Deadline Cloud モニタープロファイルに正しく設定されていることを確認します。
     + **プロファイル**で、デフォルトのファームがファームに設定されていることを確認します。
     + **Farm** で、デフォルトキューが、上記で設定したフリートに関連付けられているキューに設定されていることを確認します。

1. プロジェクト設定ウィンドウを終了します。

1. **Windows**、**Cinematics**、**Movie Render Queue** を選択します。
   + **\+ Render** を選択し、**Main\_SEQ** を選択します。
   + 設定列で **UnsavedConfig** を選択します。
     + ポップアップウィンドウの左側に Deadline Cloud の設定が表示されます。その後、このウィンドウを閉じることができます。
   + ダイアログの右側で、ジョブ設定を行います。
     + **プリセットオーバーライド (**このダイアログを広げる必要がある場合があります) の下:
       + **ジョブ共有設定**を展開します。
         + [**Name**] を [`Unreal Test Job`] に設定します。
         + **最大再試行回数を **2 に設定します。
       + **ジョブアタッチメントを展開します**。
         + **入力ファイル**で、**自動検出の表示**を選択します。
         + 自動検出されたファイルのリストが正しく入力されていることを確認します。
     + **ジョブテンプレートの上書き**:
       + 5.6 とは異なるバージョンを使用している場合は、**CondaPackages** で Unreal Engine バージョンを更新します。
         + Unreal Engine バージョンの自動検出は、今後のリリースで予定されています。
   + **レンダリング (リモート)** を選択します。

1. Deadline Cloud モニターに移動し、ジョブの進行状況を確認できます。

## カスタマーマネージドフリート (CMF) ワーカーのセットアップ
<a name="unreal-engine-cmf-worker-setup"></a>

このセクションでは、Unreal Engine を使用した Deadline Cloud の CMF ワーカーとして Amazon EC2 インスタンスを設定する手順について説明します。

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

CMF と SMF の主な違いは次のとおりです。
+ **CMF**: Unreal Engine とアダプターをワーカーホストに手動でインストールします。
+ **SMF**: `deadline-cloud` conda チャネルを介した自動可用性。

### ブランチの選択
<a name="unreal-engine-cmf-choose-branch"></a>

デプロイに適したブランチを選択します。


| ブランチ | 安定性 | ユースケース | 
| --- | --- | --- | 
| リリース | Stable | 本番稼働用デプロイ | 
| メインライン | 最新 | 開発とテスト | 

**重要**  
互換性の問題を避けるため、ワーカーのバージョンが送信者のバージョンと一致していることを確認してください。

### Amazon EC2 インスタンスのセットアップ
<a name="unreal-engine-cmf-ec2-setup"></a>

推奨されるインスタンス設定は次のとおりです。
+ **インスタンスタイプ**: g5.2xlarge 以上。
+ **ストレージ**: 最小 200 GB。
+ **OS**: Windows Server 2019/2022。

#### ソフトウェアのインストール
<a name="unreal-engine-cmf-software-install"></a>

**1. Unreal Engine のインストール**:

1. エピックゲームランチャーをダウンロードします。

1. Unreal Engine 5.4 以降をインストールします。
**注記**  
Deadline Cloud の互換性には 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 [Installer を使用して Visual Studio](https://visualstudio.microsoft.com/) をインストールします。

1. [エピック互換性テーブルを確認して、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\+\+ を使用したデスクトップ開発**を選択します。

### Deadline 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`できるヘルパースクリプトが にあります。Unreal の最新バージョンを見つけ、プラグインと Python の依存関係を構築し、正しい場所にインストールしようとします。使用する Unreal バージョンなどの設定は上書きできます。完全なヘルプリストを表示するには、以下を実行します。

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

最新の Unreal Engine インストールを使用して、ワーカー`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>

Unreal のインストール場所と のインストール場所に基づいて、以下の最初の 2 つのパスを調整します`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
```

### Deadline Cloud ワーカーエージェントサービスの開始
<a name="unreal-engine-cmf-start-agent"></a>

CMF ワーカーインスタンスの場合:

1. **Task Manager** を開きます。

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`

## 認証情報管理を実施する
<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 設定 | 
| 事前設定された管理者ユーザー | 中 | 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 認証情報を 1 つの暗号化された場所に保存します。
+ **認証情報が公開されない**: 認証情報がジョブ設定やログに表示されることはありません。
+ **自動ローテーション**: ジョブの再設定なしで認証情報ローテーションをサポートします。
+ **監査証跡**: 認証情報のアクセスと使用状況を追跡します。
+ **ユニバーサルサポート**: 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. を実際のキューロール ARN `QUEUE_ROLE_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 を使用して、安全な認証情報を管理します。

[Deadline Cloud ユーザーガイド](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)にあります。

#### Deadline Cloud モニターまたはコンソールを使用してキュー環境を追加する
<a name="unreal-engine-p4-add-env-dcm"></a>

1. Deadline Cloud モニターまたは AWS コンソールを開きます。

1. 作業しているファームとキューに移動します。

1. **キュー環境**タブを選択します。

1. Action を選択し****、Create **new with 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 ユーザーを作成し、ユーザー名やパスワードなどのシークレットデータを渡す必要がなくなります。この場合、1 人の専用 P4 ユーザーを使用して、プロジェクトデポにアクセスできるコミット (マスター) サーバーやエッジサーバーなど、すべての P4 サーバーに接続できます。

したがって、デフォルトがワーカーで設定されていない場合は、接続先のポートを渡すだけで済みます。これは、上記の手順と同様に、ジョブ環境またはキュー環境に以下を追加することで実現できます。

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

## Perforce レンダリングジョブの作成
<a name="unreal-engine-perforce-render-job"></a>

このセクションでは、Perforce 統合レンダージョブデータアセットを設定して、Perforce 統合レンダージョブを Unreal Engine から Deadline Cloud に送信できるようにする方法について説明します。

### 前提条件
<a name="unreal-engine-p4-prerequisites"></a>

Perforce リポジトリで Unreal Engine から映画レンダリングキュー (MRQ) ジョブを送信する前に:

**Unreal プロジェクトのセットアップ**:
+ プロジェクトは Perforce ワークスペース内にある必要があります。
+ Perforce 接続が確立され、ログインしていることを確認します。

**Deadline Cloud のセットアップ**:
+ [送信者のインストール](#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 で追跡されたアセットの自動収集と同期。

### Perforce レンダリングジョブコンポーネントのセットアップ
<a name="unreal-engine-p4-setup-components"></a>

Perforce 統合レンダージョブに必要なデータアセットを作成するには、次の手順に従います。

#### 1. Apply Perforce 認証情報データアセットを作成する
<a name="unreal-engine-p4-apply-credentials"></a>

Secrets Manager から Perforce 認証情報を取得し、Perforce 接続に適用するための OpenJD 環境を設定します。

**注記**  
環境変数は `openjd_env`プレフィックスが付いたログに表示されますが、機密データ (ポート、ユーザー、パスワード) はセキュリティのために自動的に編集されます。

**設定手順**:

1. 新しい **Deadline Cloud Perforce Environment** データアセットを作成します。  
![データアセットインスタンスのクラスの選択ダイアログが「deadline」にフィルタリングされ、Deadline Cloud Perforce Environment が選択されています。](http://docs.aws.amazon.com/ja_jp/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 認証情報シークレット名を入力します。
   + これは、 で作成されたシークレット名と一致する必要があります[認証情報管理を実施する](#unreal-engine-perforce-credentials)。  
![Perforce 認証情報の環境データアセットプロパティを適用する: 名前 P4ApplySecrets、テンプレート p4_apply_secrets_environment.yml へのパス、および P4AccessSecretName に設定された AWS_SECRET_P4INFO 変数。](http://docs.aws.amazon.com/ja_jp/deadline-cloud/latest/userguide/images/unreal-engine-p4-apply-secrets-environment.png)

#### 2. Perforce 同期環境データアセットを作成する
<a name="unreal-engine-p4-sync-env"></a>

Perforce ワークスペースを作成し、Perforce サーバーからファイルを同期し、レンダリング後にワークスペースをクリーンアップするための OpenJD 環境を設定します。

**設定手順**:

1. 新しい **Deadline 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 sync environment data asset properties: Name P4SyncSmf、Path to Template p4_sync_smf_environment.yml、および AWS_SECRET_P4INFO 変数を P4AccessSecretName に設定します。](http://docs.aws.amazon.com/ja_jp/deadline-cloud/latest/userguide/images/unreal-engine-p4-sync-smf-environment.png)

#### 3. Perforce Launch UE 環境データアセットを作成する
<a name="unreal-engine-p4-launch-env"></a>

Perforce 統合で Unreal Engine を起動するための OpenJD 環境を設定します。これにより、同期環境によって作成された Perforce ワークスペースが自動的に参照されます。

**設定手順**:

1. 新しい **Deadline Cloud Environment** データアセットを作成します。

1. データアセットにわかりやすい名前を付けます (例:P4LaunchUEEnv」）。

1. から`p4_launch_ue_environment.yml`テンプレートを選択します`Content/Python/openjd_templates/p4/`。

1. 環境設定を構成する:
   + **REMOTE\_EXECUTION** を に設定します`True`。
   + この設定により、リモートレンダリング機能が有効になります。  
![Perforce 環境データアセットプロパティを使用して Unreal Engine を起動する: Name LaunchUnrealEditorWithP4、Path to Template p4_launch_ue_environment.yml、REMOTE_EXECUTION 変数を True に設定します。](http://docs.aws.amazon.com/ja_jp/deadline-cloud/latest/userguide/images/unreal-engine-p4-launch-UE-environment.png)

#### 4. Perforce レンダリングステップデータアセットを作成する
<a name="unreal-engine-p4-render-step"></a>

レンダリングプロセスを実行するための OpenJD レンダリングステップを設定します。

**設定手順**:

1. 新しい **Deadline Cloud Render Step** データアセットを作成します。  
![データアセットインスタンスのクラスを選択 ダイアログを「deadline cloud」にフィルタリングし、Deadline Cloud Render ステップを選択します。](http://docs.aws.amazon.com/ja_jp/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. 新しい **Deadline Cloud Render Job** データアセットを作成します。  
![データアセットインスタンスのクラスを選択 ダイアログを「deadline cloud」にフィルタリングし、Deadline Cloud Render Job を選択します。](http://docs.aws.amazon.com/ja_jp/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/ja_jp/deadline-cloud/latest/userguide/epic-unreal-engine.html)

   **パラメータ設定ガイドライン**:
   + **自動入力パラメータ**: これらは空のままにします。ジョブの送信中に自動的に入力されます。
   + **手動パラメータ**: デフォルトを確認し、特定の要件に基づいて調整します。
   + **ChunkSize**: 1 から始めて、シンプルなショットでパフォーマンスを向上させます。  
![Perforce レンダリングジョブデータアセットのパラメータ定義プロパティ、一覧表示 ProjectRelativePath、ProjectName、PerforceChangelistNumber、PerforceWorkspaceSpecificationTemplate、MrqJobDependenciesDescriptor、ExtraCmdArgs、ExtraCmdArgsFile、Executable、CondaPackages、CondaChannels、ChunkSize の各フィールド。](http://docs.aws.amazon.com/ja_jp/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/ja_jp/deadline-cloud/latest/userguide/epic-unreal-engine.html)
**重要**  
環境の順序は、適切な依存関係解決と認証情報フローに不可欠です。

1. **レンダリングステップを追加する**: ステップセクションにP4RenderStep」を追加します。  
![ApplyP4SecretsEnv、P4SyncSMFEnv、および P4LaunchUEEnv を順番に示すジョブデータアセット Environments 配列をレンダリングし、ステップの下に P4RenderStep を追加します。](http://docs.aws.amazon.com/ja_jp/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>
+ **認証情報: 認証情報を適切に設定します (**「」を参照[認証情報管理を実施する](#unreal-engine-perforce-credentials))。
+ **Workspace**: 仕様には、必要なすべてのビューマッピングが含まれます。
+ **テスト**: 大規模なジョブを送信する前に、小さなレンダリングタスクでテストします。
+ **依存関係**: すべてのプロジェクトの依存関係が Perforce にあり、アクセス可能であることを確認します。
+ アクセス**許可**: ワーカーロールが Secrets Manager にアクセスできることを確認します。

#### パフォーマンスの最適化
<a name="unreal-engine-p4-perf-optimization"></a>

**チャンクサイズ設定**:


| チャンクサイズ | ユースケース | パフォーマンスへの影響 | 
| --- | --- | --- | 
| 1～2 ショット | 複雑なショット、詳細なレビューが必要 | スループットの低下、品質管理の向上 | 
| 4～8 ショット | バランスの取れたワークロード、一般的なプロジェクト | 速度と管理可能性の最適なバランス | 
| 10 回以上 | シンプルなショット、バッチ処理 | 最大スループット、最小オーバーヘッド | 

以下の追加の最適化を検討してください。
+ **依存関係**: 不要なアセット依存関係を最小限に抑えて、同期時間を短縮します。
+ **Workspace ビュー**: 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 サーバーのアクセシビリティの検証 | 
| WorkSpace 同期エラー | 同期失敗、アクセス許可拒否 | 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`値は、公式の 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. 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、OS、アーキテクチャなどの基本要件がロードされます。

**注記**  
基本要件は削除できません。その値のみ変更できます。

### ステップ 3: 基本 (システム) 要件を設定する
<a name="unreal-engine-host-step3"></a>


| 設定 | 例 | 
| --- | --- | 
| オペレーティングシステム | windows | 
| CPU アーキテクチャ | x86\_64 | 
| vCPUs最小) | 16 | 
| GPUs (最小) | 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 つ一致する必要があります。

1. スペースで区切られた属性値を入力します。例: `nvidia amd`。

### ステップ 6: MRQ での可視性 (オプション)
<a name="unreal-engine-host-step6"></a>

各要件エントリには目のアイコンがあります。


| 目 | 行動 | 
| --- | --- | 
| [Visible] | 要件は MRQ 送信 UI に表示されます。 | 
| [非表示] | 要件は非表示になっていますが、ジョブの送信時に含まれています | 

この設定は、技術的な制約を維持しながらアーティストの 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 の Deadline Cloud](https://github.com/aws-deadline/deadline-cloud-for-unreal-engine)