

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Motore epico Unreal
<a name="epic-unreal-engine"></a>

Unreal Engine è uno strumento di creazione 3D in tempo reale per immagini fotorealistiche ed esperienze coinvolgenti. Unreal Engine è supportato da Deadline Cloud con mittenti, pacchetti conda e un adattatore per migliorare le prestazioni di rendering. Questa guida fornisce istruzioni dettagliate per utilizzare Deadline Cloud con Unreal Engine per rendere più velocemente i progetti Movie Render Queue distribuendo le attività di rendering su più macchine.

## Panoramica del supporto
<a name="unreal-engine-support-overview"></a>

Unreal Engine è supportato dai seguenti componenti:
+ **Submitter**: plug-in di invio integrato per l'invio diretto di lavori da Unreal Engine con rilevamento automatico di scene e risorse.
+ **Pacchetti Conda**: Deadline Cloud per l'installazione automatica su flotte gestite dai servizi.
+ **Adattatore**: middleware per un rendering efficiente con sessioni permanenti e monitoraggio aggiuntivo.
+ **Cross-platform compatibilità**: supporto submitter e worker solo per Windows.
+ **Integrazione Movie Render Queue**: Supporto per il sistema Movie Render Queue di Unreal.

## Compatibilità della versione di Unreal Engine
<a name="unreal-engine-version-compatibility"></a>

La tabella seguente mostra gli attuali livelli di supporto per le versioni di Unreal Engine:


| Versione principale | Supporto per i mittenti | Supporto Conda | 
| --- | --- | --- | 
| 5.4 | Windows | Windows | 
| 5.5 | Windows | Windows | 
| 5.6 | Windows | Windows | 
| 5.7 | Windows | Windows | 

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

La tabella seguente elenca tutti i pacchetti conda applicabili a Unreal Engine disponibili per le Service-managed flotte nel canale conda: `deadline-cloud`


| Sistema operativo | Pacchetto | Versione | 
| --- | --- | --- | 
| Windows | unreal-engine | 5.4 | 
| Windows | unreal-engine | 5.5 | 
| Windows | motore irreale | 5.6 | 
| Windows | motore irreale | 5.7 | 
| Windows | unreal-engine-openjd |  | 

## Nozioni di base
<a name="unreal-engine-getting-started"></a>

### Prerequisiti
<a name="unreal-engine-prerequisites"></a>

Prima di installare l'Unreal Engine submitter, assicurati di avere quanto segue:
+ Workstation Windows (Windows 10 o versione successiva)
+ Versione supportata di Unreal Engine installata
+ Deadline Cloud monitor installato ([scarica](https://docs.aws.amazon.com/deadline-cloud/latest/userguide/monitor-onboarding.html) qui)
+ Accesso a una Deadline Cloud farm con una flotta gestita dai servizi GPU-enabled Windows o una flotta gestita dal cliente con Unreal Engine, l'adattatore Unreal Engine e la configurazione delle licenze

## Installazione del mittente
<a name="unreal-engine-installation"></a>

Il mittente di Unreal Engine aggiunge la funzionalità Deadline Cloud come plug-in per Unreal Engine, consentendoti di inviare i lavori di Movie Render Queue direttamente a Deadline Cloud per il rendering.

### Scelta della filiale
<a name="unreal-engine-choose-branch"></a>

Seleziona la filiale appropriata per la tua implementazione:


| Ramo | Stabilità | Caso d’uso | Consigliato per | 
| --- | --- | --- | --- | 
| rilascio | Stabile | Produzione | La maggior parte degli utenti | 
| linea principale | Funzionalità più recenti | Sviluppo e test | Utenti avanzati | 

**Suggerimento**  
Utilizza il ramo di **rilascio** per gli ambienti di produzione per garantire la stabilità.

### Creazione di una nuova istanza Windows Amazon EC2 su cui installare Unreal (opzionale)
<a name="unreal-engine-create-ec2"></a>

Se stai configurando una nuova istanza Windows Amazon Elastic Compute Cloud (Amazon EC2) come mittente, un'istanza g5.2xlarge con 200 GB di spazio di archiviazione è un minimo ragionevole:

1. Avvia un'istanza Amazon EC2 con un profilo di istanza valido. Ciò è necessario per scaricare i driver NVIDIA GRID come indicato di seguito.

1. Scarica Epic Installer e installa una versione supportata di Unreal (5.4 - 5.7).
   + UE 5.5 presenta un noto bug di arresto anomalo quando viene eseguito con il plug-in DirectX 11 (vedi il numero UE-276282 UE \#). Se hai bisogno del supporto DirectX su UE 5.5, usa DirectX 12 o versione successiva.

1. [Driver NVIDIA GRID: segui le istruzioni di installazione di Windows.](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/install-nvidia-driver.html#nvidia-GRID-driver)

### Percorsi lunghi di Windows
<a name="unreal-engine-windows-long-paths"></a>

Molti dei passaggi seguenti possono creare file che superano la lunghezza massima del percorso predefinita di Windows. Prima di creare e installare il mittente o l'adattatore Deadline Cloud for Unreal Engine su un computer Windows, ti consigliamo di abilitare il supporto a lungo termine di Windows. [A tale scopo, segui le istruzioni nella pagina [Limitazione massima del percorso dei file](https://learn.microsoft.com/en-us/windows/win32/fileio/maximum-file-path-limitation?tabs=registry), ad esempio eseguendo il comando. PowerShell ](https://learn.microsoft.com/en-us/windows/win32/fileio/maximum-file-path-limitation?tabs=powershell#tabpanel_1_powershell)

Esiste anche un [problema aperto sul worker agent](https://github.com/aws-deadline/deadline-cloud-worker-agent/issues/520) causato da una dipendenza che non viene fornita configurata per supportare percorsi lunghi di Windows. Quando configuri i tuoi worker, segui i passaggi alternativi indicati nel problema collegato per supportare completamente i percorsi lunghi di Windows fino alla risoluzione del problema.

### Installazione degli strumenti di compilazione
<a name="unreal-engine-install-build-tools"></a>

Il plugin Unreal submitter attualmente deve essere compilato localmente.

1. Installa Visual Studio utilizzando [Visual](https://visualstudio.microsoft.com/) Studio Installer.

1. Verifica che la versione di Visual Studio e degli strumenti di compilazione sia compatibile con la tua versione di Unreal controllando la tabella di compatibilità di [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. In **Componenti individuali**, assicurati che la versione degli strumenti di compilazione MSVC selezionata («Più recente» per impostazione predefinita) corrisponda alla versione consigliata nella tabella. Anche se la guida alla compatibilità può suggerire una versione «o successiva», a volte si verificano errori di compilazione quando si utilizza una versione più recente di quella indicata come «consigliata».

1. In **Componenti individuali**, seleziona un SDK.NET Framework recente (4.6.1 e 4.8.1 sono stati verificati).

1. **In **Carichi di lavoro**, seleziona Sviluppo desktop con C\+\+.**

### Installazione del monitor Deadline Cloud
<a name="unreal-engine-install-monitor"></a>

Deadline Cloud monitor viene utilizzato sia per gestire le credenziali per l'invio di lavori a Deadline Cloud sia per monitorare lo stato dei lavori.

1. Segui le istruzioni di installazione del monitor [Deadline Cloud.](https://docs.aws.amazon.com/deadline-cloud/latest/userguide/submitter.html#install-deadline-cloud-monitor)

1. Accedi.

### Configurazione dell'ambiente
<a name="unreal-engine-environment-setup"></a>

1. (Se non è già installata) Installa una versione recente di Python per tutti gli utenti (verificata con 3.12).

1. Assicurati che le variabili di ambiente siano impostate correttamente. Nelle variabili di ambiente di sistema, il tuo PATH deve includere:
   + Il percorso dell'installazione di Python (ad esempio,`C:\Program Files\Python312`).
   + Il percorso della cartella Python Scripts (ad esempio,). `C:\Program Files\Python312\scripts`
   + Il percorso dei file binari Unreal (ad esempio,). `C:\Program Files\Epic Games\UE_5.5\Engine\Binaries\Win64`

### Installazione del software Deadline Cloud
<a name="unreal-engine-deadline-software-install"></a>

Clona o scarica `deadline-cloud-for-unreal-engine` dal ramo di rilascio o dalla linea principale, a seconda che desideri la versione testata più recente o tutti i commit più recenti.

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

### Facoltativo: crea e installa il plugin con lo script
<a name="unreal-engine-build-with-script"></a>

Uno script di supporto `scripts/build_plugin.py` facoltativo automatizza i due passaggi successivi. Tenta di trovare l'ultima versione di Unreal, crea le dipendenze del plugin e di Python e le installa nelle posizioni corrette. Puoi sovrascrivere impostazioni come la versione Unreal. Per vedere l'elenco completo degli aiuti, esegui:

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

Per creare e installare la tua copia attuale di `deadline-cloud-for-unreal-engine` come mittente con l'ultima installazione di Unreal Engine, esegui:

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

Se hai eseguito correttamente l'installazione con questo script, puoi passare a. [Creare una flotta](#unreal-engine-create-fleet)

### Crea il plugin
<a name="unreal-engine-build-plugin"></a>

Modifica i primi due percorsi seguenti in base a dove risiede l'installazione di Unreal e a dove l'hai installata`deadline-cloud-for-unreal-engine`.

Dalla cartella Unreal Install Batchfiles (il `package` parametro può essere qualsiasi nuova directory, tuttavia vorrai che venga chiamata in seguito): `UnrealDeadlineCloudService`

```
cd C:\Program Files\Epic Games\UE_5.5\Engine\Build\BatchFiles
runuat.bat BuildPlugin -plugin="C:\deadline\deadline-cloud-for-unreal-engine\src\unreal_plugin\UnrealDeadlineCloudService.uplugin" -package="C:\UnrealDeadlineCloudService"
```

Copia la cartella «package» qui sopra nella cartella Plugins dell'installazione di Unreal (ad esempio,). `C:\Program Files\Epic Games\UE_5.5\Engine\Plugins\UnrealDeadlineCloudService`

### Dipendenze in Python
<a name="unreal-engine-python-deps"></a>

Esistono 4 modi per installare le dipendenze Python richieste.

1. Se hai creato e installato il plugin dal ramo di rilascio precedente, puoi installarlo da pip. Usa il seguente comando di installazione, regolando i percorsi dell'installazione di 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. In alternativa, nel tuo `.uplugin` file (nei passaggi precedenti si potrebbe usare`C:\Program Files\Epic Games\UE_5.5\Engine\Plugins\UnrealDeadlineCloudService\UnrealDeadlineCloudService.uplugin`) puoi aggiungere una `PythonRequirements` sezione che corrisponda all'ultima versione di `deadline-cloud-for-unreal-engine` in GitHub/PyPI, ad esempio:

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

Potresti voler disattivare la funzione «strict hash» nelle impostazioni Python di Unreal o aggiungere impostazioni hash per specifiche versioni di libreria e dipendenze che desideri utilizzare.

3. Se state usando la linea principale potreste avere dipendenze da Python che non sono ancora state rilasciate a PyPI: dovrete creare e installare la vostra copia locale, che può essere eseguita con hatch. Il `.whl` file dovrà essere modificato per riflettere la versione generata da 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. Infine, le dipendenze Python possono essere installate dal programma di installazione del submitter. Queste potrebbero non essere aggiornate rispetto al codice riportato sopra, proveniente dalla release o dal ramo mainline, e questo metodo al momento non dovrebbe essere preferito.

1. Scarica il programma di installazione del mittente dalla scheda Download della console Deadline Cloud AWS o dal monitor Deadline Cloud in Configurazione della workstation → Download.

1. Esegui il programma di installazione per tutti gli utenti. La posizione di installazione predefinita va bene.

1. Abilita il plugin Unreal Engine.

1. Assicurati che il percorso di installazione del plug-in Unreal Engine corrisponda al percorso in cui è stato copiato il plug-in (in particolare assicurati che la versione di Unreal corrisponda).

### Notifiche di aggiornamento
<a name="unreal-engine-update-notifications"></a>

Il plugin submitter verifica automaticamente la presenza di nuove versioni all'avvio di Unreal GitHub Editor. Se è disponibile un aggiornamento, una finestra di dialogo ti chiederà di visitare la pagina di rilascio.

****Per disattivare le notifiche di aggiornamento, deseleziona **Mostra notifiche di aggiornamento del mittente** in Impostazioni **generali nel pannello delle impostazioni** di Deadline Cloud (**Modifica** > Impostazioni del **progetto** > Plugin > Deadline Cloud).****

In alternativa, puoi usare la CLI:

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

Per riattivare:

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

## Creare una flotta
<a name="unreal-engine-create-fleet"></a>

Se disponi già di un parco sistemi Windows e non hai bisogno di configurarne uno nuovo, puoi passare a[Invio di un rendering di prova](#unreal-engine-test-render).

### Creazione di una flotta gestita dai servizi (SMF)
<a name="unreal-engine-create-smf"></a>

Segui la [guida per l'utente delle flotte gestite dai servizi](https://docs.aws.amazon.com/deadline-cloud/latest/userguide/smf-manage.html) per creare una SMF se non ne hai già una. [Nelle [flotte gestite dai servizi (SMF)](https://docs.aws.amazon.com/deadline-cloud/latest/userguide/smf-manage.html), l'Unreal Engine e l'adattatore sono automaticamente disponibili utilizzando il canale conda con l'ambiente di coda predefinito. `deadline-cloud`](https://docs.aws.amazon.com/deadline-cloud/latest/userguide/create-queue-environment.html#conda-queue-environment) Sei pronto per iniziare il rendering. Continua con la [Invio di un rendering di prova](#unreal-engine-test-render) pagina seguente per inviare un lavoro di rendering di prova.

### Creazione di una flotta gestita dal cliente (CMF)
<a name="unreal-engine-create-cmf"></a>

1. Segui [Crea una flotta gestita dal cliente](https://docs.aws.amazon.com/deadline-cloud/latest/developerguide/create-a-cmf.html) per creare un CMF se non ne hai già uno.
**avvertimento**  
Quando associ il tuo CMF alle code, rimuovi l'ambiente di coda conda predefinito se non lo usi. Ciò impedirà l'utilizzo dell'ambiente conda e l'utilizzo accidentale delle SMF-specific variabili predefinite per i lavori inviati al CMF. Se utilizzi conda nel tuo CMF, ricordati di aggiornare `CondaPackages` le `CondaChannels` variabili in **Parameter Definition** Overrides durante l'invio del lavoro.

1. Segui la [configurazione e la configurazione dell'host di lavoro](https://docs.aws.amazon.com/deadline-cloud/latest/developerguide/worker-host.html) per configurare un host di lavoro.

1. Segui [Gestisci l'accesso ai segreti degli utenti del lavoro di Windows](https://docs.aws.amazon.com/deadline-cloud/latest/developerguide/manage-access-windows-secrets.html) per configurare i segreti degli utenti del lavoro di Windows per il tuo lavoratore CMF.

1. Segui [Installa e configura il software richiesto per i lavori per](https://docs.aws.amazon.com/deadline-cloud/latest/developerguide/install-software.html) installare il software necessario per eseguire i lavori.

1. Segui [Configurazione di un addetto alla flotta gestita dal cliente (CMF)](#unreal-engine-cmf-worker-setup) per configurare il tuo nodo di lavoro per eseguire i job di Unreal Engine.

## Invio di un rendering di prova
<a name="unreal-engine-test-render"></a>

Questo esempio utilizza la demo di Meerkat dell'Unreal Marketplace:

1. Avvia il launcher di Epic Games.

1. **Installa la demo di Meerkat dalla scheda Esempi.**

1. Crea un progetto dalla demo di Meerkat, quindi aprilo.

1. Dal menu **Modifica**, seleziona **Plugin**, cerca e abilita. **UnrealDeadlineCloudService**

1. Riavvia Unreal se hai abilitato il plugin per la prima volta.

1. In **Modifica** > **Impostazioni del progetto**, cerca la sezione **Movie Render Pipeline**.
   + Per **Default Remote Executor**, selezionate. **MoviePipelineDeadlineCloudRemoteExecutor**
   + Per **Default Executor Job**, selezionare **MoviePipelineDeadlineCloudExecutorJob**.
   + In **Default Job Settings Classes**, scegli l'icona di aggiunta e aggiungi **DeadlineCloudRenderStepSetting**.

1. Cerca le impostazioni di **Deadline Cloud** e verifica l'autenticazione:
   + Assicurati che il tuo stato sia «AUTENTICATO» e che l'API di Deadline Cloud mostri «AUTORIZZATO».
   + Se non viene visualizzato, prova prima a utilizzare il pulsante **Login**. Se non funziona, apri Deadline Cloud Monitor e assicurati di aver effettuato l'accesso.
   + Nella sezione Configurazione di **Deadline Cloud Workstation**:
     + In **Impostazioni globali**, assicurati che il tuo profilo AWS sia impostato correttamente sul tuo profilo di monitoraggio Deadline Cloud.
     + In **Profilo**, assicurati che la tua fattoria predefinita sia impostata sulla tua fattoria.
     + In **Fattoria**, assicurati che la coda predefinita sia impostata su una coda associata alla flotta che hai impostato sopra.

1. Esci dalla finestra Impostazioni del progetto.

1. Scegliete **Windows**, **Cinematics**, **Movie Render Queue**.
   + Scegliete **\+ Render** e selezionate. **Main\_SEQ**
   + Scegliete **UnsavedConfig**nella colonna delle impostazioni.
     + Nella finestra popup, dovresti vedere le impostazioni di Deadline Cloud sulla sinistra. Questa finestra può quindi essere chiusa.
   + Sul lato destro della finestra di dialogo, configura le impostazioni del lavoro:
     + In **Preset Overrides** (potrebbe essere necessario ampliare questa finestra di dialogo):
       + **Espandi le impostazioni Job Shared**:
         + Impostare **Name (Nome)** su `Unreal Test Job`.
         + Imposta **il numero massimo di tentativi** su 2.
       + Espandi **Job Attachments:**
         + In **File di input**, seleziona **Mostra Auto-Detected**.
         + Verifica che l'elenco dei file rilevati automaticamente venga compilato correttamente.
     + In **Job Template Overrides:**
       + Aggiorna la versione di Unreal Engine **CondaPackages**se utilizzi una versione diversa dalla 5.6.
         + Il rilevamento automatico della versione di Unreal Engine arriverà in una versione futura.
   + Scegliete **Render (Remote)**.

1. Puoi andare su Deadline Cloud Monitor e guardare lo stato di avanzamento del tuo lavoro.

## Configurazione di un addetto alla flotta gestita dal cliente (CMF)
<a name="unreal-engine-cmf-worker-setup"></a>

Questa sezione illustra come configurare un'istanza Amazon EC2 come worker CMF per Deadline Cloud con Unreal Engine.

### Panoramica di
<a name="unreal-engine-cmf-overview"></a>

Di seguito sono riportate le principali differenze tra CMF e SMF:
+ **CMF**: installazione manuale di Unreal Engine e dell'adattatore sugli host di lavoro.
+ **SMF**: disponibilità automatica tramite il canale conda. `deadline-cloud`

### Scelta della filiale
<a name="unreal-engine-cmf-choose-branch"></a>

Seleziona la filiale appropriata per la tua implementazione:


| Ramo | Stabilità | Caso d’uso | 
| --- | --- | --- | 
| rilascio | Stabile | Implementazioni di produzione | 
| linea principale | Più recente | Sviluppo e test | 

**Importante**  
Assicurati che la tua versione di lavoro corrisponda a quella del mittente per evitare problemi di compatibilità.

### Configurazione dell'istanza Amazon EC2
<a name="unreal-engine-cmf-ec2-setup"></a>

Di seguito è riportata la configurazione dell'istanza consigliata:
+ **Tipo di istanza**: g5.2xlarge o superiore.
+ **Archiviazione: minimo 200** GB.
+ **Sistema operativo**: Windows Server 2019/2022.

#### Installazione del software
<a name="unreal-engine-cmf-software-install"></a>

**1. Installa Unreal Engine**:

1. Scarica il launcher di Epic Games.

1. Installa Unreal Engine 5.4 o versioni successive.
**Nota**  
Unreal Engine 5.4\+ è necessario per la compatibilità con Deadline Cloud.

**2. Installa i driver NVIDIA GRID**:
+ Segui la [guida all'installazione del driver AWS NVIDIA GRID](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/install-nvidia-driver.html#nvidia-GRID-driver).
+ Necessario per il GPU-accelerated rendering su istanze Amazon EC2.

### Installazione degli strumenti di compilazione
<a name="unreal-engine-cmf-build-tools"></a>

Il plugin Unreal attualmente deve essere compilato localmente.

1. Installa Visual Studio utilizzando il programma di [installazione di Visual Studio](https://visualstudio.microsoft.com/).

1. Verifica che la versione di Visual Studio e degli strumenti di compilazione sia compatibile con la tua versione di Unreal controllando la tabella di compatibilità di [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. In **Componenti individuali**, assicurati che la versione degli strumenti di compilazione MSVC selezionata («Più recente» per impostazione predefinita) corrisponda alla versione consigliata nella tabella.

1. In **Componenti individuali**, seleziona un SDK.NET Framework recente (4.6.1 e 4.8.1 sono stati verificati).

1. **In **Carichi di lavoro**, seleziona Sviluppo desktop con C\+\+.**

### Installazione del software Deadline Cloud
<a name="unreal-engine-cmf-deadline-install"></a>

Clona o scarica `deadline-cloud-for-unreal-engine` dal ramo di rilascio o dalla linea principale. Assicurati che la tua versione di lavoro delle librerie sia compatibile con la versione utilizzata dai mittenti.

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

Facoltativo: crea e installa plugin e dipendenze con lo script:

Esiste uno script di supporto `scripts/build_plugin.py` che può automatizzare i passaggi di installazione rimanenti. Tenta di trovare l'ultima versione di Unreal, creare le dipendenze tra plugin e python e installarle nelle posizioni corrette. Impostazioni come la versione di Unreal da utilizzare possono essere sovrascritte. Per vedere l'elenco completo degli aiuti, esegui:

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

Per creare e installare la tua copia corrente di `deadline-cloud-for-unreal-engine` come worker con l'ultima installazione di Unreal Engine, esegui:

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

Configura l'agente di lavoro Deadline Cloud eseguendo:

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

Se hai installato con questo script e configurato correttamente il worker agent, puoi passare a. [Avvio del servizio worker agent di Deadline Cloud](#unreal-engine-cmf-start-agent)

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

È necessario installare la versione corretta dell'adattatore a seconda della versione del mittente utilizzata. Se stai usando la versione del mittente dalla filiale di rilascio GitHub, puoi semplicemente installarla con pip:

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

Se utilizzi la versione principale o una versione personalizzata in fase di sviluppo del mittente, per evitare problemi di compatibilità ti consigliamo di compilare e installare dalla stessa versione di codice o di trasferire il file dalla build del mittente: `.whl`

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

### Creazione del plugin
<a name="unreal-engine-cmf-build-plugin"></a>

Modifica i primi due percorsi seguenti in base a dove risiede l'installazione di Unreal e a dove l'hai installata`deadline-cloud-for-unreal-engine`.

Dalla cartella Unreal Install Batchfiles (il `package` parametro può essere qualsiasi nuova directory, tuttavia vorrai che venga chiamata in seguito): `UnrealDeadlineCloudService`

```
cd C:\Program Files\Epic Games\UE_5.5\Engine\Build\BatchFiles
runuat.bat BuildPlugin -plugin="C:\deadline\deadline-cloud-for-unreal-engine\src\unreal_plugin\UnrealDeadlineCloudService.uplugin" -package="C:\UnrealDeadlineCloudService"
```

Copia la cartella «package» qui sopra nella cartella Plugins dell'installazione di Unreal (ad esempio,). `C:\Program Files\Epic Games\UE_5.5\Engine\Plugins\UnrealDeadlineCloudService`

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

La versione di Python di Unreal avrà bisogno di pywin32. Installazione di Pip utilizzando una copia dell'installazione Python di terze parti di Unreal:

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

### Avvio del servizio worker agent di Deadline Cloud
<a name="unreal-engine-cmf-start-agent"></a>

Sulla tua istanza di lavoro CMF:

1. Apri **Task Manager**.

1. Scegli la scheda **Servizi** sulla destra.

1. Trova **DeadlineWorker**.
   + Se non lo vedi nell'elenco, probabilmente hai saltato i passaggi (`install-deadline-worker`in particolare) dei [passaggi di configurazione dell'host CMF](https://docs.aws.amazon.com/deadline-cloud/latest/developerguide/worker-host.html#worker-agent-config).

1. Se lo stato del servizio non è attualmente «In esecuzione», fai clic con il pulsante destro del mouse e seleziona **Avvia**.

1. Se il DeadlineWorker servizio non si avvia, controlla i registri di avvio del worker agent in queste posizioni:
   + `C:\ProgramData\Amazon\Deadline\Logs\worker-agent.log`
   + `C:\ProgramData\Amazon\Deadline\Logs\queue-<queueid>\session-<sessionid>.log`

## Gestione delle credenziali Force
<a name="unreal-engine-perforce-credentials"></a>

Questa sezione tratta la gestione sicura delle credenziali per l'integrazione di Perforce con i lavoratori di Deadline Cloud.

### Panoramica di
<a name="unreal-engine-p4-cred-overview"></a>

Esistono diversi approcci per configurare le credenziali Perforce per i lavoratori di Deadline Cloud. Ogni metodo ha implicazioni di sicurezza e casi d'uso diversi:


| Metodo | Livello di sicurezza | Supporto all'implementazione | Uso consigliato | 
| --- | --- | --- | --- | 
| AWS Secrets Manager (Secrets Manager) | Elevata | SMF \+ CMF | Produzione (consigliata) | 
| Variabili dell'ambiente Job | Bassa | SMF \+ CMF | Solo sviluppo e test | 
| Variabili di ambiente di coda | Bassa | SMF \+ CMF | Solo sviluppo e test | 
| Registro di sistema di Windows | Media | Solo CMF | Configurazioni CMF precedenti | 
| Pre-configured utente amministratore | Media | Solo CMF | Configurazioni CMF semplificate | 

**Importante**  
Usa Secrets Manager per gli ambienti di produzione. Fornisce uno storage centralizzato e crittografato delle credenziali con audit trail e funziona con implementazioni SMF e CMF.

### Nozioni di base sulle credenziali P4
<a name="unreal-engine-p4-cred-basics"></a>

Per recuperare le impostazioni di connessione, inclusi l'URL e la porta del server Perforce, il nome utente e la password, Perforce segue la seguente priorità:

1. Parametri di connessione in qualsiasi framework per Perforce (P4) (ad esempio). `p4python.P4`

1. User/system variabili di ambiente:`P4PORT`,,`P4USER`,`P4CLIENT`. `P4PASSWD`

1. Registro di Windows: `HKEY_LOCAL_MACHINE\SOFTWARE\Perforce\Environment` (impostazioni a livello di sistema) o `HKEY_CURRENT_USER\SOFTWARE\Perforce\Environment` (impostazioni specifiche dell'utente).

Con queste priorità, se hai la seguente configurazione:
+ Il parametro di connessione `password` è `password.from.connection`
+ La variabile di ambiente `%P4PORT%` è `ssl:perforce.from.env:1666`
+ Il registro di Windows `HKEY_CURRENT_USER\SOFTWARE\Perforce\Environment:P4PORT` è `ssl:perforce.from.registry:1666`
+ Il registro di Windows `HKEY_CURRENT_USER\SOFTWARE\Perforce\Environment:P4USER` è `user.from.registry`
+ Il registro di Windows `HKEY_CURRENT_USER\SOFTWARE\Perforce\Environment:P4PASSWD` è `password.from.registry`

La connessione Perforce risultante sarà:

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

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

Secrets Manager fornisce la soluzione più sicura e scalabile per le implementazioni CMF e SMF.

Questa funzionalità fornisce i seguenti vantaggi:
+ **Sicurezza centralizzata**: archivia tutte le credenziali P4 in un'unica posizione crittografata.
+ **Nessuna esposizione delle credenziali**: le credenziali non vengono mai visualizzate nelle configurazioni di lavoro o nei registri.
+ **Rotazione automatica: Supporta la rotazione** delle credenziali senza riconfigurazione del lavoro.
+ **Audit trail**: monitora l'accesso e l'utilizzo delle credenziali.
+ **Supporto universale**: funziona con implementazioni CMF e SMF.
+ **Redazione dei registri**: le credenziali di connessione vengono automaticamente cancellate nei registri dei lavori.

#### Fase 1: Creare un segreto in Secrets Manager
<a name="unreal-engine-p4-create-secret"></a>

Crea un segreto contenente i parametri di connessione Perforce.

**Coppie chiave-valore richieste**:
+ `P4PORT`- URL e porta del server Perforce.
+ `P4USER`- Nome utente Perforce.
+ `P4PASSWD`- Password Perforce.

**Importante**  
I nomi delle chiavi devono corrispondere esattamente ai parametri di connessione P4 per funzionare. `deadline-cloud-for-unreal-engine`

**Esempio segreto**:

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

**Per creare il segreto**:

1. Apri la console Secrets Manager.

1. Scegli «Memorizza un nuovo segreto».

1. Seleziona «Altro tipo di segreto».

1. Inserisci le coppie chiave-valore riportate sopra.

1. Assegna un nome al tuo segreto (ad esempio,`deadline-cloud-p4-credentials`).

1. Completa il processo di creazione.

#### Fase 2: concedere al lavoratore l'accesso al segreto
<a name="unreal-engine-p4-grant-access"></a>

I lavoratori hanno bisogno `secretsmanager:GetSecretValue` dell'autorizzazione per accedere al segreto. Ciò segue lo stesso schema utilizzato per la [gestione dei segreti degli utenti dei job di Windows](https://docs.aws.amazon.com/deadline-cloud/latest/developerguide/manage-access-windows-secrets.html#grant-access).

**Per concedere l'accesso**:

1. Apri la console Secrets Manager e accedi al tuo segreto.

1. Nella sezione «Autorizzazioni per le risorse», aggiungi questa politica:

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

1. Sostituisci `QUEUE_ROLE_ARN` con l'ARN del ruolo di coda effettivo.

1. Salva la politica.

**Nota**  
Salva il nome segreto: ti servirà per configurare i lavori di rendering P4. Vedi [Creazione di un lavoro di rendering Perforce](#unreal-engine-perforce-render-job) i passaggi successivi.

### Variabili dell'ambiente Job
<a name="unreal-engine-p4-job-env"></a>

**avvertimento**  
Questo approccio non è consigliato per la produzione in quanto espone le credenziali nelle configurazioni e nei log dei processi. Usa Secrets Manager per gli ambienti di produzione.

[È possibile passare le credenziali di connessione all'interno dell'ambiente di lavoro in cui avviene la creazione dell'area di lavoro, ad esempio in [p4\_sync\_smf\_environment, ugs\_sync\_smf\_environment o ambienti simili](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) per 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) In alternativa, create un nuovo modello di ambiente e aggiungetelo al vostro lavoro.

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

Questo approccio presenta i seguenti rischi per la sicurezza:
+ Le credenziali sono visibili nelle configurazioni dei lavori.
+ Le password possono apparire nei registri (non cancellate automaticamente).
+ Nessuna gestione centralizzata delle credenziali.
+ Difficile ruotare le credenziali.

### Variabili di ambiente di coda
<a name="unreal-engine-p4-queue-env"></a>

**avvertimento**  
Questo approccio non è consigliato per la produzione in quanto memorizza le credenziali nelle configurazioni di coda. Usa Secrets Manager per una gestione sicura delle credenziali.

Secondo la [guida per l'utente di Deadline Cloud](https://docs.aws.amazon.com/deadline-cloud/latest/userguide/create-queue-environment.html), puoi utilizzare gli ambienti di coda per fornire applicazioni software, variabili di ambiente e altre risorse ai lavori in coda. Gli esempi di ambiente di coda sono disponibili nella cartella [queue\_environments](https://github.com/aws-deadline/deadline-cloud-samples/tree/mainline/queue_environments) in deadline-cloud-samples.

#### Aggiungi un ambiente di coda utilizzando il monitor o la console Deadline Cloud
<a name="unreal-engine-p4-add-env-dcm"></a>

1. Apri Deadline Cloud monitor o la console AWS.

1. Vai alla fattoria e mettiti in coda con cui stai lavorando.

1. Seleziona la scheda **Ambienti di coda.**

1. Scegli **Azione** e seleziona **Crea nuovo con YAML**.

1. Aggiungi quanto segue e salva:

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

#### Aggiungi un ambiente di coda tramite CLI
<a name="unreal-engine-p4-add-env-cli"></a>

1. Crea un `p4_credentials.yaml` file con l'esempio precedente.

1. Esegui il comando CLI di seguito:

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

### Registro di Windows (solo CMF)
<a name="unreal-engine-p4-windows-registry"></a>

**Importante**  
Questa soluzione è adatta solo per CMF, dove è possibile configurare direttamente gli host di lavoro. Per le implementazioni SMF, usa Secrets Manager.

Il registro di Windows fornisce l'archiviazione locale delle credenziali sulle macchine di lavoro. Questo metodo utilizza il sistema di priorità Perforce standard in cui le credenziali sono archiviate in:
+ `HKEY_LOCAL_MACHINE\SOFTWARE\Perforce\Environment`(impostazioni a livello di sistema).
+ `HKEY_CURRENT_USER\SOFTWARE\Perforce\Environment`(impostazioni specifiche dell'utente).

Questo approccio è adatto solo per le implementazioni CMF in cui è possibile accedere direttamente alla configurazione delle macchine di lavoro.

### Pre-configured utente amministratore (solo CMF)
<a name="unreal-engine-p4-admin-user"></a>

**Importante**  
Questa soluzione è adatta solo per CMF, dove è possibile configurare direttamente gli host dei lavoratori. Per le implementazioni SMF, usa Secrets Manager.

Crea un utente P4 dedicato per i nodi di rendering con una connessione senza scadenza per eliminare la necessità di passare dati segreti come nomi utente e password. In questo caso, è possibile utilizzare un singolo utente P4 dedicato per connettersi a tutti i server P4, inclusi i server Commit (Master) ed Edge in cui è accessibile il depot del progetto.

Pertanto, è sufficiente passare la porta a cui connettersi, se l'impostazione predefinita non è configurata sui worker. Ciò può essere ottenuto aggiungendo quanto segue nell'ambiente di lavoro o nell'ambiente di coda, in modo simile ai passaggi documentati sopra:

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

## Creazione di un lavoro di rendering Perforce
<a name="unreal-engine-perforce-render-job"></a>

Questa sezione illustra la configurazione degli asset di dati dei lavori di Perforce-integrated rendering in modo da poter inviare i lavori di Perforce-integrated rendering a Deadline Cloud da Unreal Engine.

### Prerequisiti
<a name="unreal-engine-p4-prerequisites"></a>

Prima di inviare un lavoro Movie Render Queue (MRQ) da Unreal Engine in un repository Perforce:

**Configurazione** del progetto Unreal:
+ Il progetto deve trovarsi all'interno dell'area di lavoro Perforce.
+ Verifica che la connessione Perforce sia stabilita e che tu abbia effettuato l'accesso.

Configurazione **Deadline Cloud**:
+ Completo [Installazione del mittente](#unreal-engine-installation).
+ Configurazione [Gestione delle credenziali Force](#unreal-engine-perforce-credentials) per i lavoratori.

**Requisiti obbligatori**:
+ Spazio di lavoro Perforce valido con file di progetto.
+ Autorizzazioni Perforce appropriate per le operazioni di sincronizzazione.

### Architettura del lavoro di rendering Perforce
<a name="unreal-engine-p4-architecture"></a>

I lavori di rendering P4 estendono il lavoro di rendering standard con funzionalità di sincronizzazione 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
```

**Principali differenze rispetto ai lavori standard**:
+ **Gestione delle credenziali**: applicazione di credenziali Secure Perforce di Secrets Manager.
+ **Sincronizzazione del repository: ambiente di sincronizzazione** Perforce aggiuntivo per la gestione dell'area di lavoro.
+ **Risoluzione del percorso**: le variabili di ambiente fanno riferimento ai percorsi dell'area di lavoro Perforce.
+ Raccolta **delle dipendenze: raccolta** e sincronizzazione automatiche delle risorse. Perforce-tracked 

### Configurazione dei componenti del processo di rendering Perforce
<a name="unreal-engine-p4-setup-components"></a>

Segui questi passaggi per creare le risorse di dati richieste per i lavori di Perforce-integrated rendering.

#### 1. Crea la risorsa dati Apply Perforce Credentials
<a name="unreal-engine-p4-apply-credentials"></a>

Configura un ambiente OpenJD per recuperare le credenziali Perforce da Secrets Manager e applicarle alla connessione Perforce.

**Nota**  
Le variabili di ambiente vengono visualizzate nei log con il `openjd_env` prefisso, ma i dati sensibili (porta, utente, password) vengono automaticamente oscurati per motivi di sicurezza.

**Fasi di configurazione:**

1. Crea una nuova risorsa di dati **Deadline Cloud Perforce Environment**.  
![La finestra di dialogo Pick Class For Data Asset Instance è stata filtrata in base alla «scadenza», con Deadline Cloud Perforce Environment selezionato.](http://docs.aws.amazon.com/it_it/deadline-cloud/latest/userguide/images/unreal-engine-p4-environment.png)

1. Assegna un nome descrittivo alla risorsa di dati (ad esempio, "«). ApplyP4SecretEnv

1. Seleziona il `p4_apply_secrets_environment.yml` modello da`Content/Python/openjd_templates/p4/`.

1. Configura il riferimento segreto:
   + **Inserisci il nome segreto della tua credenziale Perforce in AWS\_SECRET\_P 4INFO.**
   + Dovrebbe corrispondere al nome segreto creato in. [Gestione delle credenziali Force](#unreal-engine-perforce-credentials)  
![Applica le proprietà degli asset di dati di ambiente delle credenziali Perforce: Name P4ApplySecrets, Path to Template p4_apply_secrets_environment.yml e la variabile 4INFO impostata su. AWS_SECRET_P P4AccessSecretName](http://docs.aws.amazon.com/it_it/deadline-cloud/latest/userguide/images/unreal-engine-p4-apply-secrets-environment.png)

#### 2. Crea una risorsa di dati dell'ambiente di sincronizzazione Perforce
<a name="unreal-engine-p4-sync-env"></a>

Configura un ambiente OpenJD per creare uno spazio di lavoro Perforce, sincronizzare i file dal server Perforce e ripulire l'area di lavoro dopo il rendering.

**Passaggi di configurazione:**

1. Crea una nuova risorsa di dati **Deadline Cloud Perforce Environment**.

1. Assegna un nome alla risorsa di dati in base al tipo di flotta:
   + **P4SyncSMFEnv**per una flotta gestita dai servizi (SMF).
   + **P4SyncCMFEnv**per una flotta gestita dal cliente (CMF).

1. Seleziona il modello appropriato tra: `Content/Python/openjd_templates/p4/`
   + **SMF**:`p4_sync_smf_environment.yml`.
   + **CMF:.** `p4_sync_cmf_environment.yml`

1. Configura il riferimento segreto:
   + **Inserisci il nome segreto della tua credenziale Perforce in AWS\_SECRET\_P 4INFO.**
   + Deve corrispondere al segreto del passaggio 1.  
![Proprietà degli asset di dati dell'ambiente di sincronizzazione Perforce: nome P4SyncSmf, percorso del modello p4_sync_smf_environment.yml e variabile 4INFO impostata su. AWS_SECRET_P P4AccessSecretName](http://docs.aws.amazon.com/it_it/deadline-cloud/latest/userguide/images/unreal-engine-p4-sync-smf-environment.png)

#### 3. Crea una risorsa di dati ambientali Perforce Launch UE
<a name="unreal-engine-p4-launch-env"></a>

Configura un ambiente OpenJD per il lancio di Unreal Engine con l'integrazione di Perforce. Questo fa automaticamente riferimento all'area di lavoro Perforce creata dall'ambiente di sincronizzazione.

**Fasi di configurazione**:

1. Crea una nuova risorsa di dati di **Deadline Cloud Environment**.

1. Assegna un nome alla risorsa di dati in modo descrittivo (ad esempio, "P4LaunchUEEnv«).

1. Seleziona il `p4_launch_ue_environment.yml` modello da`Content/Python/openjd_templates/p4/`.

1. Configura le impostazioni dell'ambiente:
   + Imposta **REMOTE\_EXECUTION** su. `True`
   + Questa impostazione abilita le funzionalità di rendering remoto.  
![Avvia Unreal Engine con le proprietà degli asset di dati di ambiente Perforce: Name LaunchUnrealEditorWithP4, Path to Template p4_launch_ue_environment.yml e la variabile REMOTE_EXECUTION impostata su True.](http://docs.aws.amazon.com/it_it/deadline-cloud/latest/userguide/images/unreal-engine-p4-launch-UE-environment.png)

#### 4. Crea una risorsa di dati Perforce Render Step
<a name="unreal-engine-p4-render-step"></a>

Imposta una fase di rendering di OpenJD per l'esecuzione del processo di rendering.

**Fasi di configurazione**:

1. Crea una nuova risorsa di dati **Deadline Cloud Render Step**.  
![La finestra di dialogo Pick Class For Data Asset Instance è stata filtrata su «deadline cloud», con Deadline Cloud Render Step selezionato.](http://docs.aws.amazon.com/it_it/deadline-cloud/latest/userguide/images/unreal-engine-p4-render-step-data-asset.png)

1. Assegna un nome descrittivo alla risorsa di dati (ad esempio, "«). P4RenderStep

1. Seleziona il `p4_render_step.yml` modello da`Content/Python/openjd_templates/p4/`.

#### 5. Crea una risorsa di dati del processo di rendering Perforce
<a name="unreal-engine-p4-render-job"></a>

Imposta un processo di rendering OpenJD che orchestra l'intero flusso di lavoro di rendering.

**Fasi di configurazione:**

1. Crea un nuovo asset di dati **Deadline Cloud Render Job**.  
![La finestra di dialogo Pick Class For Data Asset Instance è stata filtrata su «deadline cloud», con Deadline Cloud Render Job selezionato.](http://docs.aws.amazon.com/it_it/deadline-cloud/latest/userguide/images/unreal-engine-p4-render-job-data-asset.png)

1. Assegna un nome descrittivo alla risorsa di dati (ad esempio, "«). P4RenderJob

1. Seleziona il `p4_render_job.yml` modello da`Content/Python/openjd_templates/p4/`.

1. **Rivedi le definizioni dei parametri**: il modello include questi parametri con i loro comportamenti predefiniti:    
[See the AWS documentation website for more details](http://docs.aws.amazon.com/it_it/deadline-cloud/latest/userguide/epic-unreal-engine.html)

   Linee guida per la **configurazione dei parametri**:
   + **Auto-populated parametri**: lasciali vuoti: vengono compilati automaticamente durante l'invio del lavoro.
   + **Parametri manuali**: rivedi i valori predefiniti e modificali in base ai tuoi requisiti specifici.
   + **ChunkSize**: Inizia con 1, aumenta per ottenere prestazioni migliori con scatti semplici.  
![Proprietà di definizione dei parametri per l'asset di dati, l'elenco,,,,,, ProjectRelativePath,, ProjectName, PerforceChangelistNumber PerforceWorkspaceSpecificationTemplate MrqJobDependenciesDescriptor ExtraCmdArgs ExtraCmdArgsFile CondaPackages, CondaChannels Executable e ChunkSize i campi di Perforce Render Job.](http://docs.aws.amazon.com/it_it/deadline-cloud/latest/userguide/images/unreal-engine-p4-job-parameter-definition.png)

1. **Configura gli ambienti** (in questo ordine esatto):    
[See the AWS documentation website for more details](http://docs.aws.amazon.com/it_it/deadline-cloud/latest/userguide/epic-unreal-engine.html)
**Importante**  
L'ordine dell'ambiente è essenziale per una corretta risoluzione delle dipendenze e un corretto flusso di credenziali.

1. **Aggiungi fase di rendering**: aggiungi "P4RenderStep" alla sezione Steps.  
![Visualizza ApplyP4SecretsEnv e ordina l'array Environments della risorsa di dati di lavoro con P4RenderStep aggiunta P4LaunchUEEnv nella sezione Steps. P4SyncSMFEnv](http://docs.aws.amazon.com/it_it/deadline-cloud/latest/userguide/images/unreal-engine-p4-add-environments-and-steps.png)

### Best practice
<a name="unreal-engine-p4-best-practices"></a>

#### Pre-submission lista di controllo
<a name="unreal-engine-p4-checklist"></a>
+ **Credenziali**: credenziali Perforce configurate correttamente (vedi). [Gestione delle credenziali Force](#unreal-engine-perforce-credentials)
+ **Spazio di lavoro**: la specifica include tutte le mappature delle viste necessarie.
+ **Test: esegui** un test con una piccola attività di rendering prima di inviare lavori di grandi dimensioni.
+ **Dipendenze**: verifica che tutte le dipendenze del progetto siano in Perforce e accessibili.
+ **Autorizzazioni**: conferma che i ruoli dei lavoratori abbiano accesso a Secrets Manager.

#### Ottimizzazione delle prestazioni
<a name="unreal-engine-p4-perf-optimization"></a>

**Configurazione della dimensione del blocco:**


| Dimensione del blocco | Caso d’uso | Impatto sulle prestazioni | 
| --- | --- | --- | 
| 1-2 colpi | Scatti complessi, è necessaria una revisione dettagliata | Produttività inferiore, controllo di qualità superiore | 
| 4-8 colpi | Carico di lavoro bilanciato, progetti tipici | Equilibrio ottimale tra velocità e gestibilità | 
| Più di 10 colpi | Scatti semplici, elaborazione in batch | Produttività massima, sovraccarico minimo | 

Considerate le seguenti ottimizzazioni aggiuntive:
+ **Dipendenze**: riduci al minimo le dipendenze non necessarie tra risorse per ridurre i tempi di sincronizzazione.
+ Visualizzazioni dell'**area di lavoro: ottimizza le visualizzazioni** dell'area di lavoro Perforce per sincronizzare solo i file necessari.

#### Monitoraggio e debug
<a name="unreal-engine-p4-monitoring"></a>
+ **Job logs**: monitora il processo di sincronizzazione di Perforce nei log di esecuzione del lavoro.
+ **Stato dell'area di lavoro**: verifica la creazione dell'area di lavoro e il completamento della sincronizzazione.
+ **Raccolta delle dipendenze**: verifica che tutte le risorse richieste siano state acquisite.
+ **Metriche delle prestazioni**: tieni traccia dei tempi di sincronizzazione e delle prestazioni di rendering.

### Risoluzione dei problemi
<a name="unreal-engine-p4-troubleshooting"></a>

#### Problemi e soluzioni comuni
<a name="unreal-engine-p4-common-issues"></a>


| Problema | Caratteristiche | Soluzione | 
| --- | --- | --- | 
| Errori di connessione P4 | Errori di autenticazione, timeout | Verifica le credenziali Perforce; controlla la connettività di rete; convalida l'accessibilità del server Perforce | 
| Errori di sincronizzazione dell'area di lavoro | Errori di sincronizzazione, autorizzazione negata | Controlla le autorizzazioni degli utenti Perforce; verifica le specifiche dell'area di lavoro; assicurati che esista l'elenco delle modifiche | 
| Dipendenze mancanti | Errori di rendering, risorse mancanti | EsaminaMrqJobDependenciesDescriptor; controlla la raccolta di riferimenti software; verifica tutte le risorse in Perforce | 
| Problemi di risoluzione dei percorsi | Errori relativi al file non trovato | Verifica la P4\_CLIENT\_DIRECTORY variabile, controlla l'ordine dell'ambiente, convalida i percorsi principali dell'area di lavoro | 

#### Fasi di debug
<a name="unreal-engine-p4-debug-steps"></a>

1. **Controlla i registri dei lavori**: consulta i log dell'ambiente di sincronizzazione Perforce per messaggi di errore dettagliati.

1. **Convalida dell'area di lavoro: assicurati che le specifiche dell'area** di lavoro Perforce siano corrette.

1. **Esegui il test in locale**: verifica che le operazioni Perforce funzionino dal computer mittente.

1. **Verifica le autorizzazioni**: verifica che i ruoli di lavoro abbiano accesso segreto (se usi Secrets Manager).

## Requisiti di host personalizzati
<a name="unreal-engine-host-requirements"></a>

Questa sezione descrive come creare e utilizzare requisiti di host personalizzati per il rendering di Deadline Cloud in Unreal Engine.

### Panoramica di
<a name="unreal-engine-host-overview"></a>

I requisiti dell'host definiscono quale flotta è idonea a eseguire una particolare fase di rendering. Sono archiviati all'interno di una `UDeadlineCloudHostRequirements` risorsa, a cui fa poi riferimento una `DeadlineCloudRenderStep` risorsa.


| Tipo di requisito | Ubicazione di configurazione | Caso d’uso | 
| --- | --- | --- | 
| Requisiti di sistema di base | Campi CPU/RAM/ GPU | Limita il rendering a macchine con hardware specifico | 
| Requisiti di importo personalizzati | Nome \+ min/max valori | Richiedi livelli di risorse numerici (licenze, token, quote) | 
| Requisiti degli attributi personalizzati | Attributo \+ lista valori | Attributi personalizzati richiesti sulle flotte per eseguire la fase | 

**Nota**  
Se si nasconde un requisito utilizzando l'icona a forma di occhio, lo si nasconde solo nell'interfaccia utente di MRQ Submit. Il requisito si applica ancora quando si invia il lavoro.

**Importante**  
`Attribute`I valori `Name` and utilizzati per i requisiti di importo personalizzati e i requisiti degli attributi personalizzati devono corrispondere rigorosamente agli identificatori validi definiti nella documentazione ufficiale di Open Job Description: [Open Job Specifications](https://github.com/OpenJobDescription/openjd-specifications/wiki/2023-09-Template-Schemas#33-hostrequirements).

### Fase 1: Creare la risorsa Host Requirements
<a name="unreal-engine-host-step1"></a>

1. Apri Content Browser in Unreal Engine.

1. Crea una nuova risorsa: **Aggiungi** → **Varie** → Risorsa **dati** →. **DeadlineCloudHostRequirements**

1. Assegna un nome alla risorsa, ad esempio. `MyHostRequirements`

### Fase 2: Caricare il modello YAML predefinito
<a name="unreal-engine-host-step2"></a>

1. Nel pannello dei dettagli della risorsa, individua il campo **Path to Template**.

1. Seleziona il modello predefinito:`Plugins/UnrealDeadlineCloudService/Content/Python/openjd_templates/host_requirements.yml`.

Questo carica requisiti di base come CPU, memoria, GPU, sistema operativo e architettura.

**Nota**  
I requisiti di base non possono essere rimossi; è possibile modificare solo i relativi valori.

### Fase 3: Configurazione dei requisiti di base (di sistema)
<a name="unreal-engine-host-step3"></a>


| Impostazione | Esempio | 
| --- | --- | 
| Sistema operativo | windows | 
| Architettura della CPU | x86\_64 | 
| vCPU (min) | 16 | 
| GPU (min) | 1 | 

Se Max = 0, non esiste un limite massimo per tale requisito.

### Fase 4: Aggiungere requisiti di importo personalizzati
<a name="unreal-engine-host-step4"></a>

Utilizzato quando il requisito è numerico (ad esempio, numero di licenze, limiti di concorrenza).

1. Trova la sezione Requisiti di importo **personalizzati**.

1. Aggiungi una nuova voce e imposta un nome, per esempio:`amount.custom.license`.

1. Imposta i valori Min e Max:
   + Min: 1.
   + Massimo: 0 (0 significa illimitato).

### Fase 5: Aggiungere requisiti di attributo personalizzati
<a name="unreal-engine-host-step5"></a>

Utilizzato per filtrare i lavoratori in base a tag ed etichette.

1. Trova la sezione **Requisiti degli attributi personalizzati**.

1. Aggiungi un nuovo nome di attributo, per esempio:`attr.custom.gpu.vendor`.

1. Scegli la regola di corrispondenza:
   + **AllOf**- tutti i valori devono corrispondere.
   + **AnyOf**- almeno uno deve corrispondere.

1. Immettere i valori degli attributi separati da spazi, ad esempio:`nvidia amd`.

### Fase 6: Visibilità in MRQ (opzionale)
<a name="unreal-engine-host-step6"></a>

Ogni immissione del requisito ha un'icona a forma di occhio.


| Occhio | Comportamento | 
| --- | --- | 
| Visible (Visibile) | Il requisito è mostrato nell'interfaccia utente di MRQ Submit | 
| Hidden | Il requisito è nascosto ma è comunque incluso al momento dell'invio del lavoro | 

Questa impostazione è utile per semplificare l'interfaccia utente per gli artisti preservando al contempo i vincoli tecnici.

### Fase 7: Allegare i requisiti a una fase di rendering
<a name="unreal-engine-host-step7"></a>

1. Aprite la `DeadlineCloudRenderStep` risorsa pertinente.

1. Trova il campo **Requisiti dell'host**.

1. Assegna la risorsa creata (ad esempio,`MyHostRequirements`).

Tutti gli invii MRQ che utilizzano questo passaggio ora applicano la logica di selezione dell'host.

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

Utilizzando la risorsa Host Requirements, puoi:
+ Controlla quali macchine worker eseguono i tuoi lavori di rendering.
+ Specificate i livelli minimi di risorse.
+ Scegli come target pool di lavoratori specifici utilizzando la corrispondenza degli attributi.
+ Semplifica l'interfaccia utente mantenendo intatte le regole tecniche.
+ Riutilizza le impostazioni in più fasi MRQ.

Questa configurazione migliora la coerenza del routing dei lavori e garantisce che il rendering avvenga sull'hardware corretto.

## Configurazioni avanzate.
<a name="unreal-engine-advanced-configurations"></a>

### Service-managed flotte e flotte gestite dai clienti
<a name="unreal-engine-fleet-types"></a>

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

Nelle flotte gestite dai servizi, l'Unreal Engine e l'adattatore sono automaticamente disponibili utilizzando il canale `deadline-cloud` conda con l'ambiente di coda predefinito. Questa configurazione offre l'esperienza più semplice.

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

Per le flotte gestite dai clienti, Unreal Engine e l'adattatore devono essere installati manualmente sugli host dei lavoratori. Questa configurazione offre un maggiore controllo e supporta funzionalità aggiuntive come l'integrazione con Perforce. Per istruzioni dettagliate, vedi [Configurazione di un addetto alla flotta gestita dal cliente (CMF)](#unreal-engine-cmf-worker-setup).

## Funzionalità di rendering di Unreal Engine
<a name="unreal-engine-rendering-features"></a>

Il sistema di rendering di Unreal Engine fornisce un supporto completo per:


| Funzionalità | Description | Note | 
| --- | --- | --- | 
| Coda di rendering dei filmati | High-quality rendering offline | Integrazione con l'invio dei lavori | 
| Sequencer | Timeline-based sistema di animazione | Rilevamento ed elaborazione automatici dei colpi | 
| Plugin di progetto | Supporto per plugin personalizzati | Rilevamento e inclusione automatici | 
| Dipendenze dagli asset | Gestione dei file di contenuto | Monitoraggio completo delle risorse | 
| Rendering appiccicoso | Persistenza dell'applicazione tra gli scatti | Prestazioni migliorate per sequenze con più riprese | 

Tutte le funzionalità di rendering vengono rilevate e configurate automaticamente dal mittente integrato di Unreal Engine. L'adattatore mantiene la corretta gestione delle dipendenze e supporta un rendering efficiente in più riprese senza riavviare Unreal Engine.

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

Il mittente e l'adattatore sono open source e disponibili su: GitHub
+ [Deadline Cloud per Unreal Engine](https://github.com/aws-deadline/deadline-cloud-for-unreal-engine)