

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 des performances de rendu améliorées. Ce guide fournit des instructions détaillées sur l'utilisation de 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.

## Vue d'ensemble du support
<a name="unreal-engine-support-overview"></a>

Unreal Engine est supporté par les composants suivants :
+ **Soumetteur ** : plug-in d'envoi intégré pour la soumission directe des tâches depuis Unreal Engine avec détection automatique des scènes et des actifs.
+ **Packages Conda ** : Deadline Cloud pour une installation automatique sur les flottes gérées par des services.
+ **Adaptateur ** : programme sur les hôtes de travail qui maintient l'application chargée entre les tâches pour un rendu plus rapide et qui rend compte de la progression du rendu.
+ **Cross-platform compatibilité ** : support pour les soumissionnaires et les travailleurs pour Windows uniquement.
+ **Intégration de Movie Render Queue ** : prise en charge du système Movie Render Queue 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 | Assistance aux soumissionnaires | Assistance Conda | 
| --- | --- | --- | 
| 5,4 | Windows | Windows | 
| 5.5 | Windows | Windows | 
| 5.6 | Windows | Windows | 
| 5.7 | Windows | Windows | 
| 5.8 | 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 via le `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 | moteur irréel | 5.8 | 
| Windows | unreal-engine-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
+ Moniteur Deadline Cloud installé (à [ télécharger ici](https://docs.aws.amazon.com/deadline-cloud/latest/userguide/monitor-onboarding.html))
+ Accès à une ferme Deadline Cloud avec une flotte gérée par les services GPU-enabled Windows ou une flotte gérée par le client avec Unreal Engine, l'adaptateur Unreal Engine et la configuration des licences

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

L'outil de soumission d'Unreal Engine ajoute la fonctionnalité Deadline Cloud en tant que plug-in à Unreal Engine, vous permettant de soumettre vos tâches Movie Render Queue directement à Deadline Cloud pour le rendu.

### Choisir votre agence
<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érer  | 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 ** de publication 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 constitue un minimum raisonnable :

1. Lancez une instance Amazon EC2 avec un profil d'instance valide. Le profil est requis 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 Engine (5.4 à 5.8).
   + UE 5.5 présente un bug de plantage connu lors de l'exécution avec le plug-in DirectX 11 (voir UE issue \#UE-276282). Si vous avez besoin de la prise en charge de 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).

### Fenêtres : longs chemins
<a name="unreal-engine-windows-long-paths"></a>

La plupart des étapes ci-dessous peuvent créer des fichiers dépassant 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 la prise en charge des longs chemins de Windows. Pour ce faire, suivez les instructions de la [ page Limitation ](https://learn.microsoft.com/en-us/windows/win32/fileio/maximum-file-path-limitation?tabs=registry) maximale du chemin de fichier, 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 concernant l'agent de travail ](https://github.com/aws-deadline/deadline-cloud-worker-agent/issues/520) dû à une dépendance qui n'est pas livrée configurée pour prendre en charge les longs chemins Windows. Lorsque vous configurez vos collaborateurs, suivez les étapes de contournement décrites dans le problème associé pour prendre pleinement en charge les longs chemins de Windows jusqu'à ce que le problème soit résolu.

### Installation des outils de compilation
<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 la version de Visual Studio et de vos outils de compilation est compatible avec votre version d'Unreal en consultant le tableau [ de compatibilité d'](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)Epic.

1. Sous Composants ** individuels**, assurez-vous que la version des outils de compilation MSVC sélectionnée (« la plus récente » 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 construction 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 ** Workloads**, sélectionnez Développement de ** postes de travail 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 l'état 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 Python Scripts (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` depuis la branche de publication ou la ligne principale, selon que vous voulez la version testée la plus récente ou tous les commits les plus récents.

```
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 sur 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 modifier 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 de `deadline-cloud-for-unreal-engine` As a Smitter avec la dernière installation d'Unreal Engine, exécutez :

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

Si vous avez effectué l'installation avec ce script avec succès, vous pouvez passer à[Création d'une flotte](#unreal-engine-create-fleet).

### Créez 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 souhaiterez 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 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 publication 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 souhaiterez peut-être désactiver la fonction de « hachage strict » dans les paramètres Python d'Unreal, ou ajouter des paramètres de hachage pour les versions de bibliothèques et de dépendances spécifiques que vous souhaitez utiliser.

3. Si vous utilisez la ligne principale, vous pouvez avoir des dépendances Python qui ne sont pas encore disponibles 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 sortie 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'émetteur. Ceux-ci peuvent être obsolètes par rapport à votre code ci-dessus provenant de la version ou de la branche principale, et cette méthode ne devrait pas être préférée actuellement.

1. Téléchargez le programme d'installation de l'expéditeur depuis l'onglet Téléchargements de la console Deadline Cloud AWS ou depuis le moniteur Deadline Cloud, sous Configuration de la station 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 plug-in a été copié (en particulier, assurez-vous que votre version d'Unreal correspond).

### Mettre à jour les notifications
<a name="unreal-engine-update-notifications"></a>

Le plugin d'envoi vérifie 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 ** la case Afficher les notifications de mise à jour à l'expéditeur ** dans ** Paramètres ** généraux du panneau des paramètres de Deadline Cloud (**Edition ** > Paramètres ** du projet > ** Plugins ** ** > ** Deadline Cloud). **

Vous pouvez également utiliser l'interface de ligne de commande :

```
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 à[Soumettre un rendu de test](#unreal-engine-test-render).

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

Suivez le guide de l'utilisateur des flottes [ gérées par les services ](https://docs.aws.amazon.com/deadline-cloud/latest/userguide/smf-manage.html) pour créer un SMF si vous n'en possédez pas déjà un. Sur les [ flottes gérées par services (SMF)](https://docs.aws.amazon.com/deadline-cloud/latest/userguide/smf-manage.html), l'Unreal Engine 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](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 [Soumettre 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 possédez 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. Cette suppression empêche 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, pensez à mettre à jour `CondaPackages` et à modifier les `CondaChannels` variables dans ** Parameter Definition Overrides ** lors de la soumission de la tâche.

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

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

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

1. Suivez [Configuration d'un agent de 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.

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

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

1. Démarrez le lanceur Epic Games.

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

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

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

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

1. Dans ** 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 tâche ** par défaut**, cliquez sur l'icône Ajouter, 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 d'être connecté.
   + Dans la ** section Configuration de ** Deadline Cloud Workstation :
     + Dans Paramètres ** généraux**, assurez-vous que votre profil AWS est correctement configuré sur votre profil de moniteur Deadline Cloud.
     + Dans ** Profil**, assurez-vous que votre ferme par défaut est définie sur votre ferme.
     + Dans ** Farm**, assurez-vous que votre file d'attente par défaut est définie sur une file d'attente 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 Remplacements ** prédéfinis ** (vous devrez peut-être élargir cette boîte de dialogue) :
       + Développez 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 ** tâches ** :
         + Sous Fichiers ** d'entrée**, sélectionnez ** Afficher Auto-Detected**.
         + Vérifiez que la liste des fichiers détectés automatiquement s'affiche correctement.
     + Dans la section ** Dérogations au modèle de ** tâche :
       + Mettez à jour la version d'Unreal Engine ** CondaPackages ** si vous utilisez une version différente de la 5.6.
         + La détection automatique de la version d'Unreal Engine sera disponible dans une prochaine version.
   + Choisissez ** Render (Remote)**.

1. Vous pouvez accéder à Deadline Cloud pour suivre l'avancement de votre travail.

## Configuration d'un agent de 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 travailleur CMF pour Deadline Cloud avec Unreal Engine.

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

Voici les principales différences entre le CMF et le SMF :
+ **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 votre agence
<a name="unreal-engine-cmf-choose-branch"></a>

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


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

**Important**  
Assurez-vous que la version de votre serveur correspond à la version de l'expéditeur pour éviter tout problème 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 supérieur.
**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).
+ Obligatoire pour le GPU-accelerated rendu sur les instances Amazon EC2.

### Installation des outils de compilation
<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 la version de Visual Studio et de vos outils de compilation est compatible avec votre version d'Unreal en consultant le tableau [ de compatibilité d'](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)Epic.

1. Sous Composants ** individuels**, assurez-vous que la version des outils de compilation MSVC sélectionnée (« la plus récente » 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 ** Workloads**, sélectionnez Développement de ** postes de travail 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` depuis la branche de publication ou depuis la ligne principale. Assurez-vous que votre version professionnelle 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 peut 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 d'Unreal à utiliser peuvent être modifié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` As a Worker avec la dernière installation d'Unreal Engine, exécutez :

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

Configurez l'agent Deadline Cloud Worker en exécutant :

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

Si vous avez effectué l'installation à l'aide de ce script et configuré correctement l'agent de travail, vous pouvez passer à[Démarrage du service d'agent Deadline Cloud Worker](#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 de 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 cours de développement de l'émetteur, pour éviter tout problème de compatibilité, nous vous recommandons de compiler et d'installer à partir de la même version de code ou de transférer le `.whl` fichier depuis la version de votre émetteur :

```
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 souhaiterez 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`).

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

La version de Python d'Unreal 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 Deadline Cloud Worker
<a name="unreal-engine-cmf-start-agent"></a>

Sur votre instance CMF Worker :

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

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

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

1. Si l'état du service n'est pas « 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 couvre 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 :


| Méthode | Niveau de sécurité | Assistance au déploiement | Usage recommandé | 
| --- | --- | --- | --- | 
| AWS Secrets Manager (Gestionnaire de secrets)  | Élevée | SMF \+ CMF | Production (recommandée)  | 
| Variables de l'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 existantes | 
| 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 chiffré des informations d'identification avec des pistes d'audit et fonctionne à la fois avec les déploiements SMF et CMF.

### Principes de base des informations d'identification P4
<a name="unreal-engine-p4-cred-basics"></a>

Pour récupérer les paramètres de connexion, y compris 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 la suivante :

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

### Gestionnaire de secrets (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 seul endroit crypté.
+ **Aucune exposition des informations d'identification ** : les informations d'identification n'apparaissent jamais dans les configurations de tâches ni dans les journaux.
+ **Rotation automatique ** : prenez en charge la rotation des informations d'identification sans reconfiguration des tâches.
+ **Pistes d'audit ** : suivez l'accès et l'utilisation des informations d'identification.
+ **Support universel ** : fonctionne avec les déploiements CMF et SMF.
+ **Rédaction du journal ** : les informations de connexion sont automatiquement supprimées dans les journaux des tâches.

#### Étape 1 : créer 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`- Nom d'utilisateur Perforce.
+ `P4PASSWD`- Perforcez le mot de passe.

**Important**  
Les noms de clé doivent correspondre exactement aux paramètres de connexion P4 pour fonctionner. `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 ** :

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 : Autoriser le travailleur à accéder 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 utilisateur des tâches Windows](https://docs.aws.amazon.com/deadline-cloud/latest/developerguide/manage-access-windows-secrets.html#grant-access).

**Pour autoriser l'accès ** :

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. Remplacez-le `QUEUE_ROLE_ARN` 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 de l'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 des tâches et les journaux. Utilisez Secrets Manager pour les environnements de production.

Vous pouvez transmettre des 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 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](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 comporte 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).
+ Pas de gestion centralisée des accréditations.
+ Difficile de permuter les informations d'identification.

### variables d'environnement de file d'attente
<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 des 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 de deadline-cloud-samples. ](https://github.com/aws-deadline/deadline-cloud-samples/tree/mainline/queue_environments)

#### Ajouter un environnement de file d'attente à l'aide du moniteur ou de la console Deadline
<a name="unreal-engine-p4-add-env-dcm"></a>

1. Ouvrez Deadline Cloud Monitor ou la console AWS.

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

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

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

1. Ajoutez ce qui suit et enregistrez :

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

#### Ajouter un environnement de file d'attente via 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 des opérateurs. 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 qu'aux déploiements CMF auxquels vous avez un accès direct pour configurer les machines de travail.

### 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 avec une connexion non expirante afin d'éliminer le besoin de transmettre des données secrètes telles que des noms d'utilisateur et des 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 de projets est accessible.

Par conséquent, il vous suffit de transmettre le port auquel vous connecter, si le port par défaut n'est pas configuré sur les travailleurs. Vous pouvez passer le port 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 actifs 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 Movie Render Queue (MRQ) depuis Unreal Engine dans un référentiel 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 employés.

**Exigences en matière ** de performances :
+ Espace de travail Perforce valide avec des fichiers de projet.
+ Autorisations Perforce appropriées pour les opérations de synchronisation.

### Architecture des tâches de rendu par 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 classiques ** :
+ **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 du chemin ** : les variables d'environnement font référence aux chemins de l'espace de travail Perforce.
+ **Collecte des dépendances ** : collecte et synchronisation automatiques des Perforce-tracked actifs.

### Comment Perforce Sync s'adapte aux projets de production
<a name="unreal-engine-p4-sync-at-scale"></a>

Les projets Unreal Engine de production peuvent atteindre des centaines de gigaoctets sur des dizaines de milliers de fichiers. L'Perforceintégration permet de maintenir le temps de synchronisation proportionnel à ce qui a changé plutôt qu'à la taille du projet :

Les offres d'emploi sont ajoutées à une liste de modifications  
Lors de la soumission, l'expéditeur définit le paramètre de la `PerforceChangelistNumber` tâche en fonction de la liste des modifications que votre espace de travail a synchronisée. Chaque tâche de la tâche est rendue par rapport à la même révision, de sorte que votre tâche reste reproductible même lorsque les artistes soumettent de nouvelles modifications pendant son exécution. Les collaborateurs ne peuvent démarrer une tâche que lorsque la liste des modifications épinglée est disponible sur le Perforce serveur depuis lequel ils effectuent la synchronisation.

Les employés réutilisent un espace de travail client stable  
Chaque travailleur crée son espace de travail Perforce client dans un répertoire racine persistant. Il enregistre le couplage dans un fichier de `workspace_info.json` registre stocké dans l'espace de travail. Un agent de remplacement qui reçoit le même espace de stockage lit le registre et réutilise le client existant. Cela ne crée pas de nouvel espace de travail. Comme le Perforce suivi de la liste des fichiers stockés sur le serveur se trouve sous le nom du client, une synchronisation normale télécharge uniquement les révisions de fichiers qui ont été modifiées depuis la dernière tâche.

Pour tirer parti de la réutilisation de l'espace de travail du client sur une flotte gérée par les services, activez le stockage [ persistant ](https://docs.aws.amazon.com/deadline-cloud/latest/userguide/volumes.html) afin que le volume contenant l'espace de travail synchronisé soit reconnecté aux futurs collaborateurs.

Si le chemin réseau entre la région de votre flotte et votre Perforce serveur présente un faible débit ou une latence élevée, un serveur Perforce périphérique situé dans la région de la flotte peut faire office de cache régional pour les données du dépôt. Pour plus d'informations, consultez [ Perforce source control ](https://docs.aws.amazon.com/deadline-cloud/latest/developerguide/architecture-guidance.html#perforce-asset-access) dans le * Deadline Cloud Developer Guide*.

### 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éer 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 Choisir la classe pour l'instance d'actifs de données est filtrée par « date limite », avec Deadline Cloud Perforce Environment sélectionné.](https://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 dans`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. **
   + La valeur doit correspondre au nom secret créé dans[Gestion des informations d'identification Perforce](#unreal-engine-perforce-credentials).  
![Appliquer les propriétés des actifs de données de l'environnement 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](https://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 Perforce Sync
<a name="unreal-engine-p4-sync-env"></a>

Configurez un environnement OpenJD pour créer un espace de travail Perforce, synchroniser les 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 l'actif de données en fonction du type de votre flotte :
   + **P4SyncSMFEnv**pour une flotte gérée en service (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 de l'étape 1.  
![Propriétés des actifs de données de l'environnement Perforce Sync : nom P4SyncSmf, chemin d'accès au modèle p4_sync_smf_environment.yml et variable 4INFO définie sur. AWS_SECRET_P P4AccessSecretName](https://docs.aws.amazon.com/fr_fr/deadline-cloud/latest/userguide/images/unreal-engine-p4-sync-smf-environment.png)

#### 3. Créer une ressource de données sur l'environnement Perforce Launch UE
<a name="unreal-engine-p4-launch-env"></a>

Configurez un environnement OpenJD pour lancer Unreal Engine avec intégration 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 dans`Content/Python/openjd_templates/p4/`.

1. Configurez les paramètres de l'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 d'environnement Perforce : nom LaunchUnrealEditorWithP4, chemin d'accès au modèle p4_launch_ue_environment.yml et variable REMOTE_EXECUTION définie sur True.](https://docs.aws.amazon.com/fr_fr/deadline-cloud/latest/userguide/images/unreal-engine-p4-launch-UE-environment.png)

#### 4. Créer une ressource de données d'étape 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 Choisir la classe pour l'instance d'actifs de données est filtrée sur « Deadline Cloud », avec Deadline Cloud Render Step sélectionnée.](https://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 dans`Content/Python/openjd_templates/p4/`.

#### 5. Créer une ressource de données sur les tâches 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 Choisir une classe pour l'instance d'actifs de données est filtrée sur « Deadline Cloud », avec Deadline Cloud Render Job sélectionnée.](https://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 dans`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)

   **Directives de configuration des paramètres ** :
   + **Auto-populated paramètres ** : laissez-les vides, ils seront remplis automatiquement lors de la soumission des tâches.
   + **Paramètres manuels ** : vérifiez les paramètres par défaut et ajustez-les en fonction de vos besoins spécifiques.
   + **ShotsPerTask**: Commencez par 1, augmentez pour de meilleures performances avec des tirs simples.  
![Propriétés de définition des paramètres pour l'actif de données des tâches de rendu Perforce, la liste ProjectRelativePath, ProjectName,, PerforceChangelistNumber, PerforceWorkspaceSpecificationTemplate, MrqJobDependenciesDescriptor,, ExtraCmdArgs, ExtraCmdArgsFile,, CondaPackages CondaChannels, et ChunkSize les champs Executable.](https://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 des tâches ApplyP4SecretsEnv P4SyncSMFEnv, affiché et P4LaunchUEEnv dans l'ordre, avec les éléments P4RenderStep ajoutés sous Étapes.](https://docs.aws.amazon.com/fr_fr/deadline-cloud/latest/userguide/images/unreal-engine-p4-add-environments-and-steps.png)

### Renvoi des résultats de rendu à Perforce
<a name="unreal-engine-p4-submit-mode"></a>

Par défaut, une tâche de Perforce rendu télécharge les sorties via des pièces jointes uniquement. Le paramètre `SubmitMode` job permet d'y insérer les sorties rendues, de sorte que les images finies atterrissent dans votre dépôt en même temps que le projet. Perforce


| Valeur `SubmitMode` | Comportement | 
| --- | --- | 
| '' (par défaut) | Pièces jointes aux offres d'emploi uniquement. Aucune Perforce écriture n'a lieu. Les emplois existants se comportent de la même manière. | 
| submit | Chaque tâche de rendu range les fichiers qu'elle a produits. Lorsque chaque tâche est terminée, une AssembleShelves étape regroupe toutes les étagères de tâches en une seule liste de modifications agrégée et la soumet. Le journal des tâches enregistre le numéro final de la liste des modifications. | 
| shelve | Même agrégation quesubmit, mais la liste finale des modifications agrégées est mise de côté au lieu d'être soumise, de sorte qu'une personne peut revoir l'agrégat avant de le valider. | 

Seuls les fichiers qui ont été modifiés depuis la dernière synchronisation figurent dans la liste des modifications. Chaque tâche réconcilie les fichiers exacts qu'elle a produits, et l'intégration rétablit les fichiers dont le contenu est identique à la révision du dépôt, de sorte que le rendu d'un cadre inchangé ne produit aucune entrée dans la liste des modifications.

**Note**  
Lorsque `SubmitMode` c'est `submit` ou`shelve`, la tâche ne télécharge pas les sorties de rendu vers Amazon S3 par le biais de pièces jointes à la tâche. Perforcedevient la seule voie de livraison pour les cadres. La fonction de téléchargement des sorties du moniteur Deadline Cloud ne trouve pas les images, et les tâches en aval qui consomment des sorties via des pièces jointes ne les voient pas. Les pièces jointes d'entrée sont toujours téléchargées via les pièces jointes aux tâches, comme d'habitude.

Configurez vos collaborateurs de manière à ce qu'ils s'authentifient en Perforce tant qu'Perforceutilisateur unique pour toutes les tâches d'une tâche, car l'étape d'agrégation permet de trouver des étagères de tâches par propriétaire. La configuration des informations d'identification recommandée dans [Gestion des informations d'identification Perforce](#unreal-engine-perforce-credentials) un secret partagé unique dans Secrets Manager répond déjà à cette exigence.

### 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 ** : assurez-vous que les informations d'identification 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>

Le tableau suivant montre comment ce `ShotsPerTask` paramètre affecte les performances :


| Tirs par tâche | Cas d’utilisation | Impact sur les performances | 
| --- | --- | --- | 
| 1 à 2 prises | Des prises de vue complexes, un examen détaillé est nécessaire | Débit inférieur, contrôle qualité amélioré | 
| 4 à 8 tirs | Charge de travail équilibrée, projets types | Équilibre optimal entre vitesse et facilité de gestion | 
| Plus de 10 photos | Photos simples, traitement par lots | Débit maximal, frais généraux minimaux | 

Envisagez les optimisations supplémentaires suivantes :
+ **Dépendances ** : minimisez les dépendances inutiles entre les 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'attente | Vérifiez les informations d'identification Perforce ; vérifiez la connectivité réseau ; validez l'accessibilité du serveur Perforce | 
| Erreurs de synchronisation de Workspace  | Échec de synchronisation, autorisation refusée | Vérifiez les autorisations utilisateur de 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éviser MrqJobDependenciesDescriptor ; vérifier la collection de références logicielles ; vérifier tous les actifs dans Perforce | 
| Problèmes de résolution des trajectoires  | Erreurs de fichier introuvable | 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. **Validez l'espace de travail ** : assurez-vous que la spécification de l'espace de travail Perforce est correcte.

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

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

## Exigences d'hôte personnalisées
<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 | 
| --- | --- | --- | 
| Configuration requise pour le système de base | Champs CPU/RAM/GPU | Restreindre le rendu aux machines dotées d'un matériel spécifique | 
| Exigences relatives aux montants personnalisés | Nom \+ min/max valeurs | Exiger des niveaux de ressources numériques (licences, jetons, quotas) | 
| Exigences relatives aux attributs personnalisés | Liste d'attributs \+ valeurs | Attributs personnalisés requis sur les flottes pour exécuter l'étape | 

**Note**  
Le fait de masquer une exigence à l'aide de l'icône en forme d'œil ne la masque que dans l'interface utilisateur de soumission de MRQ. 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 de la description des tâches ouvertes : Spécifications [ des tâches ](https://github.com/OpenJobDescription/openjd-specifications/wiki/2023-09-Template-Schemas#33-hostrequirements) ouvertes.

### É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. Donnez un nom à la ressource, 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 la ressource, localisez le champ ** Path to Template**.

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 GPU, 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 de la configuration de base (système) requise
<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 aux montants ** personnalisés**.

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

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

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

Utilisé pour filtrer les travailleurs en fonction des tags 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 représentant un œil.


| Œil | Comportement | 
| --- | --- | 
| Visible | L'exigence est indiquée dans l'interface utilisateur de soumission MRQ | 
| Hidden | L'exigence est masquée mais toujours incluse lors de la soumission de la tâche | 

Ce paramètre est utile pour simplifier l'interface utilisateur des 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. Assignez la ressource que vous avez créée (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 la ressource relative 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 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 et 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, l'Unreal Engine 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 plus de 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 agent de 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 vidéo | 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 | 
| Plug-ins de projet | Support de plug-in personnalisé | Détection et inclusion automatiques | 
| Dépendances entre 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 à prises multiples | 

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)