

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

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

Unreal Engine est un outil de création 3D en temps réel pour des visuels photoréalistes et des expériences immersives. Unreal Engine est pris en charge par Deadline Cloud avec des émetteurs, des packages Conda et un adaptateur pour améliorer les performances de rendu. Ce guide fournit des instructions étape par étape pour utiliser Deadline Cloud avec Unreal Engine pour accélérer le rendu de vos projets Movie Render Queue en répartissant les tâches de rendu sur plusieurs machines.

## Support en bref
<a name="unreal-engine-support-overview"></a>

Unreal Engine est pris en charge par les composants suivants :
+ **Submitter** : plugin de soumission intégré pour la soumission directe de tâches depuis Unreal Engine avec détection automatique des scènes et des actifs.
+ **Packages Conda** : Deadline Cloud pour une installation automatique sur des flottes gérées par des services.
+ **Adaptateur** : intergiciel pour un rendu efficace avec des sessions persistantes et une surveillance supplémentaire.
+ **Cross-platform compatibilité** : support aux expéditeurs et aux utilisateurs pour Windows uniquement.
+ **Intégration de la file d'attente de rendu de films** : Support du système de file d'attente de rendu de films d'Unreal.

## Compatibilité des versions d'Unreal Engine
<a name="unreal-engine-version-compatibility"></a>

Le tableau suivant indique les niveaux de support actuels pour les versions d'Unreal Engine :


| Version majeure | Support aux soumissionnaires | Support Conda | 
| --- | --- | --- | 
| 5.4 | Windows | Windows | 
| 5.5 | Windows | Windows | 
| 5.6 | Windows | Windows | 
| 5.7 | Windows | Windows | 

## Chaîne Deadline Cloud Conda
<a name="unreal-engine-conda-channel"></a>

Le tableau suivant répertorie tous les packages conda applicables à Unreal Engine disponibles pour les Service-managed flottes du `deadline-cloud` canal conda :


| Système d’exploitation | Package | Version | 
| --- | --- | --- | 
| Windows | moteur irréel | 5.4 | 
| Windows | moteur irréel | 5.5 | 
| Windows | moteur irréel | 5.6 | 
| Windows | moteur irréel | 5.7 | 
| Windows | unrealengine-openjd |  | 

## Prise en main
<a name="unreal-engine-getting-started"></a>

### Conditions préalables
<a name="unreal-engine-prerequisites"></a>

Avant d'installer l'émetteur Unreal Engine, assurez-vous de disposer des éléments suivants :
+ Poste de travail Windows (Windows 10 ou version ultérieure)
+ Version prise en charge d'Unreal Engine installée
+ Le moniteur Deadline Cloud est installé (à [télécharger ici](https://docs.aws.amazon.com/deadline-cloud/latest/userguide/monitor-onboarding.html))
+ Accès à une ferme Deadline Cloud avec un parc géré par un service GPU-enabled Windows ou un parc géré par le client avec Unreal Engine, l'adaptateur Unreal Engine et une configuration de licences

## Installation de l'émetteur
<a name="unreal-engine-installation"></a>

L'outil de soumission Unreal Engine ajoute la fonctionnalité Deadline Cloud sous forme de plugin à Unreal Engine, vous permettant de soumettre vos tâches de file de rendu de films directement à Deadline Cloud pour le rendu.

### Choisir sa succursale
<a name="unreal-engine-choose-branch"></a>

Sélectionnez la branche appropriée pour votre déploiement :


| Branche | Stabilité | Cas d’utilisation | Recommandé pour | 
| --- | --- | --- | --- | 
| libération | Stable | Production | La plupart des utilisateurs | 
| ligne principale | Fonctionnalités les plus récentes | Développement et tests | Utilisateurs avancés | 

**Astuce**  
Utilisez la branche **release** pour les environnements de production afin de garantir la stabilité.

### Création d'une nouvelle instance Windows Amazon EC2 sur laquelle installer Unreal (facultatif)
<a name="unreal-engine-create-ec2"></a>

Si vous configurez une toute nouvelle instance Windows Amazon Elastic Compute Cloud (Amazon EC2) en tant qu'expéditeur, une instance g5.2xlarge avec 200 Go de stockage est un minimum raisonnable :

1. Lancez une instance Amazon EC2 avec un profil d'instance valide. Cela est nécessaire pour télécharger les pilotes NVIDIA GRID comme indiqué ci-dessous.

1. Téléchargez le programme d'installation Epic et installez une version compatible d'Unreal (5.4 - 5.7).
   + UE 5.5 présente un bogue de plantage connu lorsqu'il est exécuté avec le plug-in DirectX 11 (voir le problème UE \#UE-276282). Si vous avez besoin du support DirectX sur UE 5.5, utilisez DirectX 12 ou version ultérieure.

1. Pilotes NVIDIA GRID : suivez les [instructions d'installation de Windows](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/install-nvidia-driver.html#nvidia-GRID-driver).

### Longues trajectoires de Windows
<a name="unreal-engine-windows-long-paths"></a>

La plupart des étapes ci-dessous peuvent créer des fichiers qui dépassent la longueur de chemin maximale par défaut de Windows. Avant de créer et d'installer l'émetteur ou l'adaptateur Deadline Cloud pour Unreal Engine sur un ordinateur Windows, nous vous recommandons d'activer le support Windows Long Path. Pour ce faire, suivez les instructions de la page [Limitation maximale du chemin de fichier](https://learn.microsoft.com/en-us/windows/win32/fileio/maximum-file-path-limitation?tabs=registry), par exemple en exécutant la [PowerShell commande](https://learn.microsoft.com/en-us/windows/win32/fileio/maximum-file-path-limitation?tabs=powershell#tabpanel_1_powershell).

Il existe également un [problème ouvert sur l'agent](https://github.com/aws-deadline/deadline-cloud-worker-agent/issues/520) de travail dû à une dépendance qui n'est pas configurée pour prendre en charge les longs chemins Windows. Lorsque vous configurez vos travailleurs, suivez les étapes décrites dans le problème associé pour prendre pleinement en charge Windows Long Paths jusqu'à ce que le problème soit résolu.

### Installation des outils de construction
<a name="unreal-engine-install-build-tools"></a>

Le plugin Unreal Submitter doit actuellement être compilé localement.

1. Installez Visual Studio à l'aide du programme d'[installation de Visual Studio](https://visualstudio.microsoft.com/).

1. Vérifiez que votre version de Visual Studio et de vos outils de génération est compatible avec votre version d'Unreal en consultant le [tableau de compatibilité d'Epic](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. Sous **Composants individuels**, assurez-vous que la version des outils de construction MSVC sélectionnée (« Dernière » par défaut) correspond à la version recommandée dans le tableau. Même si les conseils de compatibilité peuvent suggérer une version « ou ultérieure », des erreurs de compilation se produisent parfois lors de l'utilisation d'une version plus récente que celle répertoriée comme « recommandée ».

1. Sous **Composants individuels**, sélectionnez un SDK .NET Framework récent (les versions 4.6.1 et 4.8.1 ont été vérifiées).

1. Sous **Charges de travail**, sélectionnez **Développement de bureau avec C\+\+**.

### Installation du moniteur Deadline Cloud
<a name="unreal-engine-install-monitor"></a>

Le moniteur Deadline Cloud est utilisé à la fois pour gérer vos informations d'identification pour soumettre des tâches à Deadline Cloud et pour surveiller le statut de vos tâches.

1. Suivez les [instructions d'installation du moniteur Deadline Cloud](https://docs.aws.amazon.com/deadline-cloud/latest/userguide/submitter.html#install-deadline-cloud-monitor).

1. Connexion.

### Configuration de l’environnement
<a name="unreal-engine-environment-setup"></a>

1. (Si ce n'est pas déjà fait) Installez une version récente de Python pour tous les utilisateurs (vérifiée avec la version 3.12).

1. Assurez-vous que vos variables d'environnement sont correctement définies. Dans les variables d'environnement système, votre PATH doit inclure :
   + Le chemin d'accès à votre installation Python (par exemple,`C:\Program Files\Python312`).
   + Le chemin d'accès à votre dossier de scripts Python (par exemple,`C:\Program Files\Python312\scripts`).
   + Le chemin d'accès à vos fichiers binaires Unreal (par exemple,`C:\Program Files\Epic Games\UE_5.5\Engine\Binaries\Win64`).

### Installation du logiciel Deadline Cloud
<a name="unreal-engine-deadline-software-install"></a>

Clonez ou téléchargez `deadline-cloud-for-unreal-engine` à partir de la branche de publication ou de la ligne principale, selon que vous souhaitez la version testée la plus récente ou l'ensemble des validations les plus récentes.

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

### Facultatif - Créez et installez le plugin avec un script
<a name="unreal-engine-build-with-script"></a>

Un script d'assistance automatise `scripts/build_plugin.py` éventuellement les deux étapes suivantes. Il tente de trouver la dernière version d'Unreal, crée votre plugin et vos dépendances Python, et les installe aux bons endroits. Vous pouvez annuler des paramètres tels que la version Unreal. Pour consulter la liste d'aide complète, exécutez :

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

Pour créer et installer votre copie actuelle en `deadline-cloud-for-unreal-engine` tant qu'expéditeur avec la dernière installation d'Unreal Engine, exécutez :

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

Si vous avez correctement installé ce script, vous pouvez passer à[Création d'une flotte](#unreal-engine-create-fleet).

### Construisez le plugin
<a name="unreal-engine-build-plugin"></a>

Ajustez les deux premiers chemins ci-dessous en fonction de l'endroit où se trouve votre installation d'Unreal et de l'endroit où vous l'avez installée`deadline-cloud-for-unreal-engine`.

Depuis le dossier Unreal Install Batchfiles (le `package` paramètre peut être n'importe quel nouveau répertoire, mais vous voudrez qu'il soit appelé `UnrealDeadlineCloudService` ultérieurement) :

```
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"
```

Copiez le dossier « package » ci-dessus dans le dossier Plugins de votre installation Unreal (par exemple,`C:\Program Files\Epic Games\UE_5.5\Engine\Plugins\UnrealDeadlineCloudService`).

### Dépendances en Python
<a name="unreal-engine-python-deps"></a>

Il existe 4 manières d'installer les dépendances Python requises.

1. Si vous avez créé et installé le plugin à partir de la branche de version ci-dessus, vous pouvez l'installer à partir de pip. Utilisez la commande d'installation suivante pour ajuster les chemins d'accès à votre installation 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. Sinon, dans votre `.uplugin` fichier (dans les étapes ci-dessus, cela se trouverait`C:\Program Files\Epic Games\UE_5.5\Engine\Plugins\UnrealDeadlineCloudService\UnrealDeadlineCloudService.uplugin`), vous pouvez ajouter une `PythonRequirements` section correspondant à la dernière version de `deadline-cloud-for-unreal-engine` in GitHub/PyPI, par exemple :

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

Vous pouvez désactiver la fonctionnalité de « hachage strict » dans les paramètres Python d'Unreal ou ajouter des paramètres de hachage pour les versions de bibliothèque et de dépendance spécifiques que vous souhaitez utiliser.

3. Si vous utilisez la version principale, vous avez peut-être des dépendances Python qui ne sont pas encore publiées sur PyPI. Vous devrez créer et installer votre copie locale, ce qui peut être fait avec Hatch. Le `.whl` fichier devra être modifié pour refléter la version produite par hatch build :

```
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. Enfin, les dépendances Python peuvent être installées par le programme d'installation de l'expéditeur. Elles sont peut-être obsolètes par rapport à votre code ci-dessus depuis la version ou la branche principale, et cette méthode ne doit pas être préférée actuellement.

1. Téléchargez le programme d'installation de l'émetteur depuis l'onglet Téléchargements de la console AWS de Deadline Cloud ou depuis le moniteur Deadline Cloud sous Configuration du poste de travail → Téléchargements.

1. Exécutez le programme d'installation pour tous les utilisateurs. L'emplacement d'installation par défaut est correct.

1. Activez le plugin Unreal Engine.

1. Assurez-vous que le chemin d'installation du plugin Unreal Engine correspond à l'endroit où votre plugin a été copié (en particulier, assurez-vous que votre version d'Unreal correspond).

### Notifications d'actualisation
<a name="unreal-engine-update-notifications"></a>

Le plugin Submitter recherche automatiquement les nouvelles versions au démarrage d'Unreal GitHub Editor. Si une mise à jour est disponible, une boîte de dialogue vous invite à consulter la page de publication.

**Pour désactiver les notifications de mise à jour, décochez **Afficher les notifications de mise à jour de l'**expéditeur sous **Paramètres généraux dans le panneau des paramètres** de Deadline Cloud (**Edition** > Paramètres du **projet** > **Plug-ins** > Deadline Cloud).**

Vous pouvez également utiliser la CLI :

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

Pour réactiver :

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

## Création d'une flotte
<a name="unreal-engine-create-fleet"></a>

Si vous possédez déjà un parc Windows et que vous n'avez pas besoin d'en configurer un nouveau, vous pouvez passer à[Soumission d'un rendu de test](#unreal-engine-test-render).

### Création d'une flotte gérée par des services (SMF)
<a name="unreal-engine-create-smf"></a>

Suivez le [guide de l'utilisateur des flottes gérées par des services](https://docs.aws.amazon.com/deadline-cloud/latest/userguide/smf-manage.html) pour créer un SMF si vous n'en avez pas déjà un. [Sur les [flottes gérées par des services (SMF)](https://docs.aws.amazon.com/deadline-cloud/latest/userguide/smf-manage.html), le moteur Unreal et l'adaptateur sont automatiquement disponibles via le canal `deadline-cloud` conda avec l'environnement de file d'attente par défaut.](https://docs.aws.amazon.com/deadline-cloud/latest/userguide/create-queue-environment.html#conda-queue-environment) Vous êtes prêt à commencer le rendu. Continuez avec ce qui [Soumission d'un rendu de test](#unreal-engine-test-render) suit pour soumettre une tâche de rendu de test.

### Création d'une flotte gérée par le client (CMF)
<a name="unreal-engine-create-cmf"></a>

1. Suivez [Créer une flotte gérée par le client](https://docs.aws.amazon.com/deadline-cloud/latest/developerguide/create-a-cmf.html) pour créer un CMF si vous n'en avez pas déjà un.
**Avertissement**  
Lorsque vous associez votre CMF à des files d'attente, supprimez l'environnement de file d'attente conda par défaut si vous ne l'utilisez pas. Cela empêchera l'utilisation de l'environnement conda et l'utilisation accidentelle des SMF-specific variables par défaut pour les tâches soumises à votre CMF. Si vous utilisez conda dans votre CMF, n'oubliez pas de mettre à jour `CondaPackages` les `CondaChannels` variables dans **Parameter Definition Overrides** lors de la soumission des tâches.

1. Suivez la [section Configuration et configuration de l'hôte](https://docs.aws.amazon.com/deadline-cloud/latest/developerguide/worker-host.html) de travail pour configurer un hôte de travail.

1. Suivez [Gérer l'accès aux secrets d'utilisateur de tâches Windows](https://docs.aws.amazon.com/deadline-cloud/latest/developerguide/manage-access-windows-secrets.html) pour configurer les secrets d'utilisateur de tâches Windows pour votre assistant CMF.

1. Suivez [Installer et configurer le logiciel requis pour les tâches pour](https://docs.aws.amazon.com/deadline-cloud/latest/developerguide/install-software.html) installer le logiciel requis pour exécuter les tâches.

1. Suivez [Configuration d'un préposé au parc géré par le client (CMF)](#unreal-engine-cmf-worker-setup) pour configurer votre nœud de travail pour exécuter des tâches Unreal Engine.

## Soumission d'un rendu de test
<a name="unreal-engine-test-render"></a>

Cet exemple utilise la démo de Meerkat de l'Unreal Marketplace :

1. Lancez le lanceur Epic Games.

1. Installez la démo de Meerkat depuis l'onglet **Samples**.

1. Créez un projet à partir de la démo de Meerkat, puis ouvrez-le.

1. Dans le menu **Modifier**, sélectionnez **Plugins**, recherchez et activez **UnrealDeadlineCloudService**.

1. Redémarrez Unreal si vous avez activé le plugin pour la première fois.

1. Sous **Edition** > **Paramètres du projet**, recherchez la section **Movie Render Pipeline**.
   + Pour **Default Remote Executor**, sélectionnez **MoviePipelineDeadlineCloudRemoteExecutor**.
   + Pour **Default Executor Job**, sélectionnez **MoviePipelineDeadlineCloudExecutorJob**.
   + Sous **Classes de paramètres de travail par défaut**, cliquez sur l'icône d'ajout, puis ajoutez **DeadlineCloudRenderStepSetting**.

1. Recherchez les paramètres de **Deadline Cloud** et vérifiez l'authentification :
   + Assurez-vous que votre statut indique « AUTHENTIFIÉ » et que l'API Deadline Cloud indique « AUTORISÉ ».
   + S'il n'apparaît pas, essayez d'abord d'utiliser le bouton **de connexion**. Si cela ne fonctionne pas, ouvrez le moniteur Deadline Cloud et assurez-vous que vous êtes connecté.
   + Dans la section **Configuration de la station de travail cloud Deadline** :
     + Dans **Paramètres généraux**, assurez-vous que votre profil AWS est correctement défini sur votre profil Deadline Cloud Monitor.
     + Sous **Profil**, assurez-vous que votre ferme par défaut est définie sur votre ferme.
     + Sous **Farm**, assurez-vous que votre file d'attente par défaut est définie sur une file associée à la flotte que vous avez configurée ci-dessus.

1. Quittez la fenêtre Paramètres du projet.

1. Choisissez **Windows**, **Cinematics**, **Movie Render Queue**.
   + Choisissez **\+ Render**, puis sélectionnez **Main\_SEQ**.
   + Choisissez **UnsavedConfig**dans la colonne des paramètres.
     + Dans la fenêtre contextuelle, vous devriez voir les paramètres de Deadline Cloud sur la gauche. Cette fenêtre peut ensuite être fermée.
   + Sur le côté droit de la boîte de dialogue, configurez les paramètres de la tâche :
     + Sous **Dérogations prédéfinies** (vous devrez peut-être élargir cette boîte de dialogue) :
       + Élargissez les **paramètres de partage des tâches** :
         + Définissez **Nom** sur `Unreal Test Job`.
         + Définissez le **nombre maximum de tentatives** sur 2.
       + Développez les **pièces jointes aux offres d'emploi** :
         + Sous **Fichiers d'entrée**, sélectionnez **Afficher Auto-Detected**.
         + Vérifiez que la liste des fichiers détectés automatiquement est correctement renseignée.
     + Dans la section **Dérogations des modèles de tâches :**
       + Mettez à jour la version d'Unreal Engine **CondaPackages**si vous utilisez une version différente de la version 5.6.
         + La détection automatique des versions d'Unreal Engine sera disponible dans une future version.
   + Choisissez **Render (Remote)**.

1. Vous pouvez accéder au moniteur Deadline Cloud et suivre l'avancement de votre travail.

## Configuration d'un préposé au parc géré par le client (CMF)
<a name="unreal-engine-cmf-worker-setup"></a>

Cette section explique comment configurer une instance Amazon EC2 en tant que gestionnaire CMF pour Deadline Cloud avec Unreal Engine.

### Présentation de
<a name="unreal-engine-cmf-overview"></a>

Les principales différences entre le CMF et le SMF sont les suivantes :
+ **CMF** : Installation manuelle d'Unreal Engine et de l'adaptateur sur les hôtes de travail.
+ **SMF** : disponibilité automatique via le canal `deadline-cloud` conda.

### Choisir sa succursale
<a name="unreal-engine-cmf-choose-branch"></a>

Sélectionnez la branche appropriée pour votre déploiement :


| Branche | Stabilité | Cas d’utilisation | 
| --- | --- | --- | 
| libération | Stable | Déploiements de production | 
| ligne principale | Dernière | Développement et tests | 

**Important**  
Assurez-vous que votre version de travail correspond à votre version de soumission pour éviter les problèmes de compatibilité.

### Configuration de l'instance Amazon EC2
<a name="unreal-engine-cmf-ec2-setup"></a>

La configuration d'instance recommandée est la suivante :
+ **Type d'instance** : g5.2xlarge ou supérieur.
+ **Stockage** : 200 Go minimum.
+ **Système d'exploitation** : Windows Server 2019/2022.

#### Installation du logiciel
<a name="unreal-engine-cmf-software-install"></a>

**1. Installez Unreal Engine** :

1. Téléchargez le lanceur Epic Games.

1. Installez Unreal Engine 5.4 ou version ultérieure.
**Note**  
Unreal Engine 5.4\+ est requis pour la compatibilité avec Deadline Cloud.

**2. Installez les pilotes NVIDIA GRID** :
+ Suivez le [guide d'installation du pilote AWS NVIDIA GRID](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/install-nvidia-driver.html#nvidia-GRID-driver).
+ Nécessaire pour le GPU-accelerated rendu sur les instances Amazon EC2.

### Installation des outils de construction
<a name="unreal-engine-cmf-build-tools"></a>

Le plugin Unreal doit actuellement être compilé localement.

1. Installez Visual Studio à l'aide du programme d'[installation de Visual Studio](https://visualstudio.microsoft.com/).

1. Vérifiez que votre version de Visual Studio et de vos outils de génération est compatible avec votre version d'Unreal en consultant le [tableau de compatibilité d'Epic](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. Sous **Composants individuels**, assurez-vous que la version des outils de construction MSVC sélectionnée (« Dernière » par défaut) correspond à la version recommandée dans le tableau.

1. Sous **Composants individuels**, sélectionnez un SDK .NET Framework récent (les versions 4.6.1 et 4.8.1 ont été vérifiées).

1. Sous **Charges de travail**, sélectionnez **Développement de bureau avec C\+\+**.

### Installation du logiciel Deadline Cloud
<a name="unreal-engine-cmf-deadline-install"></a>

Clonez ou téléchargez `deadline-cloud-for-unreal-engine` à partir de la branche de publication ou de la ligne principale. Assurez-vous que votre version de travail des bibliothèques est compatible avec la version utilisée par vos soumissionnaires.

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

Facultatif - Créez et installez le plugin et les dépendances à l'aide d'un script :

Il existe un script d'assistance `scripts/build_plugin.py` qui permet d'automatiser les étapes d'installation restantes. Il tente de trouver la dernière version d'Unreal, de créer votre plugin et vos dépendances Python, et de les installer aux bons endroits. Les paramètres tels que la version Unreal à utiliser peuvent être remplacés. Pour consulter la liste d'aide complète, exécutez :

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

Pour créer et installer votre copie actuelle de `deadline-cloud-for-unreal-engine` en tant que travailleur avec la dernière installation d'Unreal Engine, exécutez :

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

Configurez l'agent de travail Deadline Cloud en exécutant :

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

Si vous avez installé avec ce script et configuré l'agent de travail avec succès, vous pouvez passer à[Démarrage du service d'agent de travail de Deadline Cloud](#unreal-engine-cmf-start-agent).

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

La version correcte de l'adaptateur doit être installée en fonction de la version de l'émetteur utilisée. Si vous utilisez la version de l'émetteur depuis la branche release GitHub, vous pouvez simplement l'installer avec pip :

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

Si vous utilisez une version principale ou une version personnalisée en développement de l'émetteur, pour éviter les problèmes de compatibilité, nous vous recommandons de créer et d'installer à partir de la même version de code ou de transférer le `.whl` fichier depuis votre version de soumission :

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

### Création du plugin
<a name="unreal-engine-cmf-build-plugin"></a>

Ajustez les deux premiers chemins ci-dessous en fonction de l'endroit où se trouve votre installation d'Unreal et de l'endroit où vous l'avez installée`deadline-cloud-for-unreal-engine`.

Depuis le dossier Unreal Install Batchfiles (le `package` paramètre peut être n'importe quel nouveau répertoire, mais vous voudrez qu'il soit appelé `UnrealDeadlineCloudService` ultérieurement) :

```
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"
```

Copiez le dossier « package » ci-dessus dans le dossier Plugins de votre installation Unreal (par exemple,`C:\Program Files\Epic Games\UE_5.5\Engine\Plugins\UnrealDeadlineCloudService`).

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

La version Unreal de Python aura besoin de pywin32. Installation de Pip à l'aide d'une copie de l'installation Python tierce d'Unreal :

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

### Démarrage du service d'agent de travail de Deadline Cloud
<a name="unreal-engine-cmf-start-agent"></a>

Sur votre instance de travail CMF :

1. Ouvrez le **Gestionnaire** des tâches.

1. Choisissez l'onglet **Services** sur la droite.

1. Trouvez **DeadlineWorker**.
   + Si vous ne le voyez pas dans la liste, vous avez probablement manqué des étapes (`install-deadline-worker`en particulier) des [étapes de configuration de l'hôte CMF](https://docs.aws.amazon.com/deadline-cloud/latest/developerguide/worker-host.html#worker-agent-config).

1. Si le statut du service n'est pas actuellement « En cours d'exécution », cliquez dessus avec le bouton droit de la souris et sélectionnez **Démarrer**.

1. Si votre DeadlineWorker service ne démarre pas, consultez les journaux de lancement des agents de travail aux emplacements suivants :
   + `C:\ProgramData\Amazon\Deadline\Logs\worker-agent.log`
   + `C:\ProgramData\Amazon\Deadline\Logs\queue-<queueid>\session-<sessionid>.log`

## Gestion des informations d'identification Perforce
<a name="unreal-engine-perforce-credentials"></a>

Cette section traite de la gestion sécurisée des informations d'identification pour intégrer Perforce aux collaborateurs de Deadline Cloud.

### Présentation de
<a name="unreal-engine-p4-cred-overview"></a>

Il existe plusieurs approches pour configurer les informations d'identification Perforce pour les employés de Deadline Cloud. Chaque méthode a des implications de sécurité et des cas d'utilisation différents :


| Method | Niveau de sécurité | Assistance au déploiement | Usage recommandé | 
| --- | --- | --- | --- | 
| AWS Secrets Manager (Gestionnaire des Secrets) | Élevée | SMF \+ CMF | Production (recommandée) | 
| Variables d'environnement de travail | Faible | SMF \+ CMF | Développement et tests uniquement | 
| Variables d'environnement de file | Faible | SMF \+ CMF | Développement et tests uniquement | 
| Registre Windows | Moyenne | CMF uniquement | Configurations CMF héritées | 
| Pre-configured utilisateur administrateur | Moyenne | CMF uniquement | Configurations CMF simplifiées | 

**Important**  
Utilisez Secrets Manager pour les environnements de production. Il fournit un stockage centralisé et crypté des informations d'identification avec des pistes d'audit et fonctionne à la fois avec les déploiements SMF et CMF.

### Notions de base sur les identifiants P4
<a name="unreal-engine-p4-cred-basics"></a>

Pour récupérer les paramètres de connexion, notamment l'URL et le port du serveur Perforce, le nom d'utilisateur et le mot de passe, Perforce suit la priorité suivante :

1. Paramètres de connexion dans n'importe quel framework pour Perforce (P4) (par `p4python.P4` exemple).

1. User/system variables d'environnement :`P4PORT`,`P4USER`,`P4CLIENT`,`P4PASSWD`.

1. Registre Windows : `HKEY_LOCAL_MACHINE\SOFTWARE\Perforce\Environment` (paramètres à l'échelle du système) ou `HKEY_CURRENT_USER\SOFTWARE\Perforce\Environment` (paramètres spécifiques à l'utilisateur).

Avec ces priorités, si vous disposez de la configuration suivante :
+ Le paramètre de connexion `password` est `password.from.connection`
+ La variable d'environnement `%P4PORT%` est `ssl:perforce.from.env:1666`
+ Le registre Windows `HKEY_CURRENT_USER\SOFTWARE\Perforce\Environment:P4PORT` est `ssl:perforce.from.registry:1666`
+ Le registre Windows `HKEY_CURRENT_USER\SOFTWARE\Perforce\Environment:P4USER` est `user.from.registry`
+ Le registre Windows `HKEY_CURRENT_USER\SOFTWARE\Perforce\Environment:P4PASSWD` est `password.from.registry`

La connexion Perforce qui en résultera sera :

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

### Secrets Manager (recommandé)
<a name="unreal-engine-p4-cred-secrets-manager"></a>

Secrets Manager fournit la solution la plus sécurisée et la plus évolutive pour les déploiements CMF et SMF.

Cette approche présente les avantages suivants :
+ **Sécurité centralisée** : stockez toutes les informations d'identification P4 dans un emplacement crypté.
+ **Aucune exposition aux informations d'identification** : les informations d'identification n'apparaissent jamais dans les configurations ou les journaux des tâches.
+ **Rotation automatique** : Support de rotation des identifiants sans reconfiguration des tâches.
+ **Pistes d'audit** : suivez l'accès aux informations d'identification et leur utilisation.
+ **Support universel** : fonctionne avec les déploiements CMF et SMF.
+ **Rédaction du journal** : les informations d'identification de connexion sont automatiquement supprimées dans les journaux des tâches.

#### Étape 1 : Création d'un secret dans Secrets Manager
<a name="unreal-engine-p4-create-secret"></a>

Créez un secret contenant vos paramètres de connexion Perforce.

**Paires clé-valeur requises** :
+ `P4PORT`- URL et port du serveur Perforce.
+ `P4USER`- Percez le nom d'utilisateur.
+ `P4PASSWD`- Percez le mot de passe.

**Important**  
Pour fonctionner, les noms de clés doivent correspondre exactement aux paramètres de connexion P4. `deadline-cloud-for-unreal-engine`

**Exemple de secret** :

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

**Pour créer le secret, procédez comme suit** :

1. Ouvrez la console Secrets Manager.

1. Choisissez « Enregistrer un nouveau secret ».

1. Sélectionnez « Autre type de secret ».

1. Entrez les paires clé-valeur ci-dessus.

1. Donnez un nom à votre secret (par exemple,`deadline-cloud-p4-credentials`).

1. Terminez le processus de création.

#### Étape 2 : Accorder au travailleur l'accès au secret
<a name="unreal-engine-p4-grant-access"></a>

Les travailleurs ont besoin d'une `secretsmanager:GetSecretValue` autorisation pour accéder au secret. Cela suit le même schéma que la [gestion des secrets des utilisateurs de tâches Windows](https://docs.aws.amazon.com/deadline-cloud/latest/developerguide/manage-access-windows-secrets.html#grant-access).

**Pour accorder l'accès, procédez comme** suit :

1. Ouvrez la console Secrets Manager et accédez à votre secret.

1. Dans la section « Autorisations relatives aux ressources », ajoutez cette politique :

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

1. `QUEUE_ROLE_ARN`Remplacez-le par l'ARN de votre rôle de file d'attente actuel.

1. Enregistrez la politique.

**Note**  
Enregistrez le nom secret : vous en aurez besoin pour configurer les tâches de rendu P4. Consultez [Création d'une tâche de rendu Perforce](#unreal-engine-perforce-render-job) les prochaines étapes.

### Variables d'environnement de travail
<a name="unreal-engine-p4-job-env"></a>

**Avertissement**  
Cette approche n'est pas recommandée pour la production car elle expose les informations d'identification dans les configurations et les journaux des tâches. Utilisez Secrets Manager pour les environnements de production.

[Vous pouvez transmettre les informations de connexion dans l'environnement de travail dans lequel l'espace de travail est créé, par exemple dans [p4\_sync\_smf\_environment, ugs\_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) ou dans des environnements similaires pour CMF.](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) Vous pouvez également créer un nouveau modèle d'environnement et l'ajouter à votre tâche.

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

Cette approche présente les risques de sécurité suivants :
+ Les informations d'identification sont visibles dans les configurations de tâches.
+ Les mots de passe peuvent apparaître dans les journaux (ils ne sont pas automatiquement supprimés).
+ Aucune gestion centralisée des informations d'identification.
+ Difficile de faire alterner les informations d'identification.

### Variables d'environnement de file
<a name="unreal-engine-p4-queue-env"></a>

**Avertissement**  
Cette approche n'est pas recommandée pour la production car elle stocke les informations d'identification dans les configurations de file d'attente. Utilisez Secrets Manager pour une gestion sécurisée des informations d'identification.

Selon le [guide de l'utilisateur de Deadline Cloud](https://docs.aws.amazon.com/deadline-cloud/latest/userguide/create-queue-environment.html), vous pouvez utiliser les environnements de file d'attente pour fournir des applications logicielles, des variables d'environnement et d'autres ressources aux tâches de la file d'attente. Des exemples d'environnement de file d'attente se trouvent dans le [dossier queue\_environments](https://github.com/aws-deadline/deadline-cloud-samples/tree/mainline/queue_environments) de deadline-cloud-samples.

#### Ajouter un environnement de file d'attente en utilisant le moniteur ou la console Deadline Cloud
<a name="unreal-engine-p4-add-env-dcm"></a>

1. Ouvrez le moniteur Deadline Cloud ou la console AWS.

1. Accédez à la ferme et à la file d'attente avec lesquelles vous travaillez.

1. Sélectionnez l'onglet **Environnements de file d'attente**.

1. Choisissez **Action**, puis sélectionnez **Créer un nouveau avec YAML.**

1. Ajoutez ce qui suit et enregistrez :

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

#### Ajouter un environnement de file d'attente en utilisant la CLI
<a name="unreal-engine-p4-add-env-cli"></a>

1. Créez un `p4_credentials.yaml` fichier avec l'exemple ci-dessus.

1. Exécutez la commande CLI suivante :

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

### Registre Windows (CMF uniquement)
<a name="unreal-engine-p4-windows-registry"></a>

**Important**  
Cette solution convient uniquement au CMF où vous pouvez configurer directement les hôtes de travail. Pour les déploiements SMF, utilisez Secrets Manager.

Le registre Windows fournit un stockage local des informations d'identification sur les ordinateurs subordonnés. Cette méthode utilise le système de priorité Perforce standard dans lequel les informations d'identification sont stockées dans :
+ `HKEY_LOCAL_MACHINE\SOFTWARE\Perforce\Environment`(paramètres à l'échelle du système).
+ `HKEY_CURRENT_USER\SOFTWARE\Perforce\Environment`(paramètres spécifiques à l'utilisateur).

Cette approche ne convient que pour les déploiements CMF auxquels vous avez un accès direct pour configurer des machines subordonnées.

### Pre-configured utilisateur administrateur (CMF uniquement)
<a name="unreal-engine-p4-admin-user"></a>

**Important**  
Cette solution convient uniquement au CMF où vous pouvez configurer directement les hôtes de travail. Pour les déploiements SMF, utilisez Secrets Manager.

Créez un utilisateur P4 dédié pour les nœuds de rendu dotés d'une connexion non expirée afin d'éviter de devoir transmettre des données secrètes telles que les noms d'utilisateur et les mots de passe. Dans ce cas, un seul utilisateur P4 dédié peut être utilisé pour se connecter à tous les serveurs P4, y compris les serveurs Commit (Master) et Edge où le dépôt du projet est accessible.

Par conséquent, vous n'avez besoin de transmettre le port auquel vous souhaitez vous connecter que si le port par défaut n'est pas configuré pour les travailleurs. Cela peut être réalisé en ajoutant les éléments suivants dans l'environnement de travail ou dans l'environnement de file d'attente, de la même manière que les étapes décrites ci-dessus :

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

## Création d'une tâche de rendu Perforce
<a name="unreal-engine-perforce-render-job"></a>

Cette section explique comment configurer les ressources de données des tâches de Perforce-integrated rendu afin que vous puissiez soumettre des tâches de Perforce-integrated rendu à Deadline Cloud depuis Unreal Engine.

### Conditions préalables
<a name="unreal-engine-p4-prerequisites"></a>

Avant de soumettre une tâche MRQ (Movie Render Queue) depuis Unreal Engine dans un dépôt Perforce :

**Configuration du projet Unreal** :
+ Le projet doit se trouver dans l'espace de travail Perforce.
+ Vérifiez que la connexion Perforce est établie et que vous êtes connecté.

**Configuration de Deadline Cloud** :
+ Termin [Installation de l'émetteur](#unreal-engine-installation).
+ Configurez [Gestion des informations d'identification Perforce](#unreal-engine-perforce-credentials) pour les travailleurs.

**Exigences de force** :
+ Espace de travail Perforce valide avec fichiers de projet.
+ Autorisations Perforce appropriées pour les opérations de synchronisation.

### Architecture des tâches de rendu Perforce
<a name="unreal-engine-p4-architecture"></a>

Les tâches de rendu P4 étendent les tâches de rendu standard grâce aux fonctionnalités de synchronisation 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
```

**Principales différences par rapport aux emplois standard** :
+ **Gestion des informations d'identification** : application d'identification Perforce sécurisée de Secrets Manager.
+ **Synchronisation du référentiel** : environnement de synchronisation Perforce supplémentaire pour la gestion de l'espace de travail.
+ **Résolution des chemins** : les variables d'environnement font référence aux chemins d'espace de travail Perforce.
+ **Collecte des dépendances** : collecte automatique et synchronisation des Perforce-tracked actifs.

### Configuration des composants de la tâche de rendu Perforce
<a name="unreal-engine-p4-setup-components"></a>

Suivez ces étapes pour créer les actifs de données requis pour les tâches de Perforce-integrated rendu.

#### 1. Création d'une ressource de données Apply Perforce Credentials
<a name="unreal-engine-p4-apply-credentials"></a>

Configurez un environnement OpenJD pour récupérer les informations d'identification Perforce depuis Secrets Manager et les appliquer à la connexion Perforce.

**Note**  
Les variables d'environnement apparaissent dans les journaux avec le `openjd_env` préfixe, mais les données sensibles (port, utilisateur, mot de passe) sont automatiquement supprimées pour des raisons de sécurité.

**Étapes de configuration** :

1. Créez une nouvelle ressource de données **Deadline Cloud Perforce Environment**.  
![La boîte de dialogue Pick Class For Data Asset Instance est filtrée sur « date limite », avec Deadline Cloud Perforce Environment sélectionné.](http://docs.aws.amazon.com/fr_fr/deadline-cloud/latest/userguide/images/unreal-engine-p4-environment.png)

1. Nommez la ressource de données de manière descriptive (par exemple, ApplyP4SecretEnv « »).

1. Sélectionnez le `p4_apply_secrets_environment.yml` modèle à partir de`Content/Python/openjd_templates/p4/`.

1. Configurez la référence secrète :
   + **Entrez le nom secret de votre identifiant Perforce dans AWS\_SECRET\_P 4INFO.**
   + Cela doit correspondre au nom du secret créé dans[Gestion des informations d'identification Perforce](#unreal-engine-perforce-credentials).  
![Appliquez les propriétés des actifs de données de l'environnement des informations d'identification Perforce : nom P4ApplySecrets, chemin d'accès au modèle p4_apply_secrets_environment.yml et variable 4INFO définie sur. AWS_SECRET_P P4AccessSecretName](http://docs.aws.amazon.com/fr_fr/deadline-cloud/latest/userguide/images/unreal-engine-p4-apply-secrets-environment.png)

#### 2. Création d'un actif de données de l'environnement de synchronisation Perforce
<a name="unreal-engine-p4-sync-env"></a>

Configurez un environnement OpenJD pour créer un espace de travail Perforce, synchroniser des fichiers depuis le serveur Perforce et nettoyer l'espace de travail après le rendu.

**Étapes de configuration** :

1. Créez une nouvelle ressource de données **Deadline Cloud Perforce Environment**.

1. Nommez la ressource de données en fonction du type de votre flotte :
   + **P4SyncSMFEnv**pour une flotte gérée par des services (SMF).
   + **P4SyncCMFEnv**pour la flotte gérée par le client (CMF).

1. Sélectionnez le modèle approprié parmi `Content/Python/openjd_templates/p4/` :
   + **SMF** :`p4_sync_smf_environment.yml`.
   + **CMF** :`p4_sync_cmf_environment.yml`.

1. Configurez la référence secrète :
   + **Entrez le nom secret de votre identifiant Perforce dans AWS\_SECRET\_P 4INFO.**
   + Doit correspondre au secret indiqué à l'étape 1.  
![Propriétés des actifs de données de l'environnement de synchronisation Perforce : nom P4SyncSmf, chemin d'accès au modèle p4_sync_smf_environment.yml et variable 4INFO définie sur. AWS_SECRET_P P4AccessSecretName](http://docs.aws.amazon.com/fr_fr/deadline-cloud/latest/userguide/images/unreal-engine-p4-sync-smf-environment.png)

#### 3. Création d'un actif de données de l'environnement Perforce Launch UE
<a name="unreal-engine-p4-launch-env"></a>

Configurez un environnement OpenJD pour lancer Unreal Engine avec l'intégration de Perforce. Cela fait automatiquement référence à l'espace de travail Perforce créé par l'environnement de synchronisation.

**Étapes de configuration** :

1. Créez une nouvelle ressource de données **Deadline Cloud Environment**.

1. Nommez la ressource de données de manière descriptive (par exemple, P4LaunchUEEnv « »).

1. Sélectionnez le `p4_launch_ue_environment.yml` modèle à partir de`Content/Python/openjd_templates/p4/`.

1. Configurez les paramètres d'environnement :
   + Définissez **REMOTE\_EXECUTION** sur. `True`
   + Ce paramètre active les fonctionnalités de rendu à distance.  
![Lancez Unreal Engine avec les propriétés des actifs de données de l'environnement Perforce : nom LaunchUnrealEditorWithP4, chemin vers le modèle p4_launch_ue_environment.yml et variable REMOTE_EXECUTION définie sur True.](http://docs.aws.amazon.com/fr_fr/deadline-cloud/latest/userguide/images/unreal-engine-p4-launch-UE-environment.png)

#### 4. Création d'une ressource de données pour les étapes de rendu Perforce
<a name="unreal-engine-p4-render-step"></a>

Configurez une étape de rendu OpenJD pour exécuter le processus de rendu.

**Étapes de configuration** :

1. Créez une nouvelle ressource de données **Deadline Cloud Render Step**.  
![La boîte de dialogue Pick Class For Data Asset Instance est filtrée sur « Deadline Cloud », avec Deadline Cloud Render Step sélectionnée.](http://docs.aws.amazon.com/fr_fr/deadline-cloud/latest/userguide/images/unreal-engine-p4-render-step-data-asset.png)

1. Nommez la ressource de données de manière descriptive (par exemple, P4RenderStep « »).

1. Sélectionnez le `p4_render_step.yml` modèle à partir de`Content/Python/openjd_templates/p4/`.

#### 5. Création d'une ressource de données de tâche de rendu Perforce
<a name="unreal-engine-p4-render-job"></a>

Configurez une tâche de rendu OpenJD qui orchestre l'ensemble du flux de rendu.

**Étapes de configuration** :

1. Créez une nouvelle ressource de données **Deadline Cloud Render Job**.  
![La boîte de dialogue Pick Class For Data Asset Instance est filtrée sur « Deadline Cloud », avec Deadline Cloud Render Job sélectionné.](http://docs.aws.amazon.com/fr_fr/deadline-cloud/latest/userguide/images/unreal-engine-p4-render-job-data-asset.png)

1. Nommez la ressource de données de manière descriptive (par exemple, P4RenderJob « »).

1. Sélectionnez le `p4_render_job.yml` modèle à partir de`Content/Python/openjd_templates/p4/`.

1. **Vérifiez les définitions des paramètres** : le modèle inclut les paramètres suivants avec leurs comportements par défaut :    
[See the AWS documentation website for more details](http://docs.aws.amazon.com/fr_fr/deadline-cloud/latest/userguide/epic-unreal-engine.html)

   **Consignes relatives à la configuration des paramètres** :
   + **Auto-populated paramètres** : laissez-les vides, ils sont remplis automatiquement lors de la soumission des offres d'emploi.
   + **Paramètres manuels** : passez en revue les paramètres par défaut et ajustez-les en fonction de vos besoins spécifiques.
   + **ChunkSize**: Commencez par 1, augmentez pour de meilleures performances avec des prises de vue simples.  
![Propriétés de définition des paramètres pour les actifs de données de la tâche de rendu Perforce, listant ProjectRelativePath,, ProjectName,, PerforceChangelistNumber,, PerforceWorkspaceSpecificationTemplate, MrqJobDependenciesDescriptor,, ExtraCmdArgs, ExtraCmdArgsFile, Executable, CondaPackages, CondaChannels, et ChunkSize les champs.](http://docs.aws.amazon.com/fr_fr/deadline-cloud/latest/userguide/images/unreal-engine-p4-job-parameter-definition.png)

1. **Configurez les environnements** (dans cet ordre exact) :    
[See the AWS documentation website for more details](http://docs.aws.amazon.com/fr_fr/deadline-cloud/latest/userguide/epic-unreal-engine.html)
**Important**  
L'ordre de l'environnement est essentiel pour une résolution des dépendances et un flux d'informations d'identification appropriés.

1. **Ajouter une étape de rendu** : ajoutez « P4RenderStep » à la section Étapes.  
![Afficher le tableau des environnements des actifs de données de travail affichant ApplyP4SecretsEnv P4SyncSMFEnv, et P4LaunchUEEnv dans l'ordre, avec P4RenderStep ajout sous Étapes.](http://docs.aws.amazon.com/fr_fr/deadline-cloud/latest/userguide/images/unreal-engine-p4-add-environments-and-steps.png)

### Bonnes pratiques
<a name="unreal-engine-p4-best-practices"></a>

#### Pre-submission liste de contrôle
<a name="unreal-engine-p4-checklist"></a>
+ **Informations d'identification** : les informations d'identification Perforce sont correctement configurées (voir[Gestion des informations d'identification Perforce](#unreal-engine-perforce-credentials)).
+ **Espace de travail** : la spécification inclut tous les mappages de vues nécessaires.
+ **Test** : effectuez un test avec une petite tâche de rendu avant de soumettre des tâches volumineuses.
+ **Dépendances** : Vérifiez que toutes les dépendances du projet sont dans Perforce et accessibles.
+ **Autorisations** : vérifiez que les rôles des employés ont accès à Secrets Manager.

#### Optimisation des performances
<a name="unreal-engine-p4-perf-optimization"></a>

**Configuration de la taille** des morceaux :


| Taille du morceau | Cas d’utilisation | Impact sur les performances | 
| --- | --- | --- | 
| 1 à 2 prises | Des prises de vue complexes, une révision détaillée est nécessaire | Débit réduit, meilleur contrôle de la qualité | 
| 4 à 8 tirs | Charge de travail équilibrée, projets typiques | Équilibre optimal entre vitesse et facilité de gestion | 
| Plus de 10 tirs | Des prises de vue simples, traitement par lots | Débit maximal, frais généraux minimaux | 

Tenez compte des optimisations supplémentaires suivantes :
+ **Dépendances** : minimisez les dépendances inutiles aux actifs afin de réduire le temps de synchronisation.
+ **Vues de l'espace** de travail : optimisez les vues de l'espace de travail Perforce pour synchroniser uniquement les fichiers requis.

#### Surveillance et débogage
<a name="unreal-engine-p4-monitoring"></a>
+ **Journaux des tâches** : surveillez le processus de synchronisation Perforce dans les journaux d'exécution des tâches.
+ **État de l'espace de travail** : vérifiez la création de l'espace de travail et la fin de la synchronisation
+ **Collecte des dépendances** : vérifiez que tous les actifs requis ont été capturés.
+ **Indicateurs de performance** : suivez les temps de synchronisation et les performances de rendu.

### Résolution des problèmes
<a name="unreal-engine-p4-troubleshooting"></a>

#### Problèmes courants et solutions correspondantes
<a name="unreal-engine-p4-common-issues"></a>


| Problème | Symptômes | Solution | 
| --- | --- | --- | 
| Défaillances de connexion P4 | Erreurs d'authentification, délai d'expiration | Vérifier les informations d'identification Perforce ; vérifier la connectivité réseau ; valider l'accessibilité du serveur Perforce | 
| Erreurs de synchronisation d'espace de travail | Échec de synchronisation, autorisation refusée | Vérifiez les autorisations des utilisateurs Perforce ; vérifiez les spécifications de l'espace de travail ; assurez-vous que la liste des modifications existe | 
| Dépendances manquantes | Défaillances de rendu, actifs manquants | Révision MrqJobDependenciesDescriptor ; vérification de la collection de références logicielles ; vérification de tous les actifs dans Perforce | 
| Problèmes de résolution des chemins | Erreurs liées au fichier non trouvé | Vérifier la P4\_CLIENT\_DIRECTORY variable ; vérifier l'ordre de l'environnement ; valider les chemins racines de l'espace de travail | 

#### Étapes de débogage
<a name="unreal-engine-p4-debug-steps"></a>

1. **Consultez les journaux des tâches** : consultez les journaux de l'environnement de synchronisation Perforce pour obtenir des messages d'erreur détaillés.

1. **Valider l'espace de travail** : assurez-vous que les spécifications de l'espace de travail Perforce sont correctes.

1. **Testez localement** : vérifiez que les opérations Perforce fonctionnent à partir de la machine émettrice.

1. **Vérifier les autorisations** : vérifiez que les rôles de travail disposent d'un accès secret (si vous utilisez Secrets Manager).

## Exigences personnalisées en matière d'hôte
<a name="unreal-engine-host-requirements"></a>

Cette section explique comment créer et utiliser des exigences d'hôte personnalisées pour le rendu de Deadline Cloud dans Unreal Engine.

### Présentation de
<a name="unreal-engine-host-overview"></a>

Les exigences de l'hôte définissent quelle flotte est éligible pour exécuter une étape de rendu particulière. Ils sont stockés dans un `UDeadlineCloudHostRequirements` actif, qui est ensuite référencé par un `DeadlineCloudRenderStep` actif.


| Type d'exigence | Emplacement de configuration | Cas d’utilisation | 
| --- | --- | --- | 
| Exigences du système de base | Champs CPU/RAM/GPU | Limiter le rendu aux machines dotées d'un matériel spécifique | 
| Exigences de montant personnalisées | Nom et min/max valeurs | Exiger des niveaux de ressources numériques (licences, jetons, quotas) | 
| Exigences relatives aux attributs personnalisés | Liste des attributs et des valeurs | Attributs personnalisés requis sur les flottes pour exécuter l'étape | 

**Note**  
Masquer une exigence à l'aide de l'icône en forme d'œil la masque uniquement dans l'interface utilisateur MRQ Submit. L'exigence s'applique toujours lors de la soumission de l'offre d'emploi.

**Important**  
Les `Attribute` valeurs `Name` et utilisées pour les exigences de montant personnalisées et les exigences d'attributs personnalisés doivent correspondre strictement aux identifiants valides définis dans la documentation officielle d'Open Job Description : [Open Job Specifications](https://github.com/OpenJobDescription/openjd-specifications/wiki/2023-09-Template-Schemas#33-hostrequirements).

### Étape 1 : Création de la ressource relative aux exigences de l'hôte
<a name="unreal-engine-host-step1"></a>

1. Ouvrez le navigateur de contenu dans Unreal Engine.

1. Créez un nouvel actif : **Ajouter** → **Divers** → **Actif de données** → **DeadlineCloudHostRequirements**.

1. Nommez l'actif, par exemple`MyHostRequirements`.

### Étape 2 : charger le modèle YAML par défaut
<a name="unreal-engine-host-step2"></a>

1. Dans le panneau des détails de l'actif, recherchez le champ **Chemin vers le modèle**.

1. Sélectionnez le modèle par défaut :`Plugins/UnrealDeadlineCloudService/Content/Python/openjd_templates/host_requirements.yml`.

Cela charge les exigences de base telles que le processeur, la mémoire, le processeur graphique, le système d'exploitation et l'architecture.

**Note**  
Les exigences de base ne peuvent pas être supprimées ; seules leurs valeurs peuvent être modifiées.

### Étape 3 : Configuration des exigences de base (système)
<a name="unreal-engine-host-step3"></a>


| Paramètre | Exemple | 
| --- | --- | 
| Système d’exploitation | windows | 
| Architecture du processeur | x86\_64 | 
| vCPU (min.) | 16 | 
| GPU (min) | 1 | 

Si Max = 0, il n'y a pas de limite supérieure pour cette exigence.

### Étape 4 : Ajouter des exigences de montant personnalisées
<a name="unreal-engine-host-step4"></a>

Utilisé lorsque l'exigence est numérique (par exemple, nombre de licences, limites de simultanéité).

1. Trouvez la section **Exigences relatives au montant personnalisé**.

1. Ajoutez une nouvelle entrée et définissez un nom, par exemple :`amount.custom.license`.

1. Définissez les valeurs minimum et maximum :
   + Minimum : 1.
   + Max : 0 (0 signifie illimité).

### Étape 5 : ajouter des exigences d'attributs personnalisés
<a name="unreal-engine-host-step5"></a>

Utilisé pour filtrer les travailleurs en fonction des balises et des étiquettes.

1. Trouvez la section **Exigences relatives aux attributs personnalisés**.

1. Ajoutez un nouveau nom d'attribut, par exemple :`attr.custom.gpu.vendor`.

1. Choisissez la règle correspondante :
   + **AllOf**- toutes les valeurs doivent correspondre.
   + **AnyOf**- au moins un doit correspondre.

1. Entrez des valeurs d'attribut séparées par des espaces, par exemple :`nvidia amd`.

### Étape 6 : Visibilité dans MRQ (facultatif)
<a name="unreal-engine-host-step6"></a>

Chaque entrée d'exigence comporte une icône en forme d'œil.


| Œil | Comportement | 
| --- | --- | 
| Visible | L'exigence est affichée dans l'interface utilisateur MRQ Submit | 
| Hidden | L'exigence est masquée mais toujours incluse lors de la soumission du travail | 

Ce paramètre est utile pour simplifier l'interface utilisateur pour les artistes tout en préservant les contraintes techniques.

### Étape 7 : Joindre les exigences à une étape de rendu
<a name="unreal-engine-host-step7"></a>

1. Ouvrez la `DeadlineCloudRenderStep` ressource appropriée.

1. Trouvez le champ **Exigences relatives à l'hôte**.

1. Attribuez l'actif que vous avez créé (par exemple,`MyHostRequirements`).

Toutes les soumissions MRQ utilisant cette étape appliquent désormais votre logique de sélection d'hôte.

### Résumé
<a name="unreal-engine-host-summary"></a>

À l'aide de l'actif relatif aux exigences de l'hôte, vous pouvez :
+ Contrôlez les machines de travail qui exécutent vos tâches de rendu.
+ Spécifiez les niveaux de ressources minimaux.
+ Ciblez des groupes de travailleurs spécifiques à l'aide de la correspondance d'attributs.
+ Simplifiez l'interface utilisateur tout en préservant les règles techniques.
+ Réutilisez les paramètres sur plusieurs étapes du MRQ.

Cette configuration améliore la cohérence du routage des tâches et garantit que le rendu s'effectue sur le matériel approprié.

## Configurations avancées.
<a name="unreal-engine-advanced-configurations"></a>

### Service-managed flottes par rapport aux flottes gérées par le client
<a name="unreal-engine-fleet-types"></a>

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

Sur les flottes gérées par des services, le moteur Unreal et l'adaptateur sont automatiquement disponibles via le canal `deadline-cloud` conda avec l'environnement de file d'attente par défaut. Cette configuration offre l'expérience la plus simple.

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

Pour les flottes gérées par le client, Unreal Engine et l'adaptateur doivent être installés manuellement sur les hôtes de travail. Cette configuration offre un meilleur contrôle et prend en charge des fonctionnalités supplémentaires telles que l'intégration de Perforce. Pour obtenir des instructions complètes, consultez [Configuration d'un préposé au parc géré par le client (CMF)](#unreal-engine-cmf-worker-setup).

## Fonctionnalités de rendu d'Unreal Engine
<a name="unreal-engine-rendering-features"></a>

Le système de rendu d'Unreal Engine fournit un support complet pour :


| Fonctionnalité | Description | Remarques | 
| --- | --- | --- | 
| File d'attente de rendu de films | High-quality rendu hors ligne | Intégration à la soumission des offres d'emploi | 
| Séquenceur | Timeline-based système d'animation | Détection et traitement automatiques des tirs | 
| Plugins de projet | Support de plugins personnalisés | Détection et inclusion automatiques | 
| Dépendances des actifs | Gestion des fichiers de contenu | Suivi complet des actifs | 
| Rendu collant | Persistance des applications entre les prises de vue | Performances améliorées pour les séquences à plusieurs prises | 

Toutes les fonctionnalités de rendu sont automatiquement détectées et configurées par l'émetteur intégré Unreal Engine. L'adaptateur gère correctement les dépendances et permet un rendu multi-plans efficace sans redémarrer Unreal Engine.

## Ressources open source
<a name="unreal-engine-open-source"></a>

L'émetteur et l'adaptateur sont open source et disponibles sur : GitHub
+ [Deadline Cloud pour Unreal Engine](https://github.com/aws-deadline/deadline-cloud-for-unreal-engine)