View a markdown version of this page

Epische Unreal Engine - AWS Deadline Cloud

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Epische Unreal Engine

Unreal Engine ist ein 3D-Erstellungstool in Echtzeit für fotoreale Grafiken und immersive Erlebnisse. Unreal Engine wird von Deadline Cloud mit Einreichern, Conda-Paketen und einem Adapter für eine höhere Renderleistung unterstützt. Diese Anleitung enthält schrittweise Anleitungen zur Verwendung von Deadline Cloud mit Unreal Engine, um Ihre Movie Render Queue-Projekte schneller zu rendern, indem Sie Rendering-Aufgaben auf mehrere Computer verteilen.

Überblick über den Support

Unreal Engine wird von den folgenden Komponenten unterstützt:

  • Einreicher: Integriertes Einreicher-Plugin für die direkte Einreichung von Jobs aus der Unreal Engine mit automatischer Szenen- und Asset-Erkennung.

  • Conda-Pakete: Deadline Cloud für die automatische Installation auf vom Service verwalteten Flotten.

  • Adaptor: Ein Programm auf Worker-Hosts, das dafür sorgt, dass die Anwendung zwischen den Aufgaben geladen wird, um das Rendern zu beschleunigen, und das den Renderfortschritt meldet.

  • Cross-platform Kompatibilität: Submitter- und Worker-Unterstützung nur für Windows.

  • Integration der Filmrender-Warteschlange: Unterstützung für das Movie Render Queue-System von Unreal.

Unreal Engine-Versionskompatibilität

Die folgende Tabelle zeigt die aktuellen Unterstützungsstufen für Unreal Engine-Versionen:

Major Version Unterstützung für Einreicher Conda-Unterstützung
5.4 Windows Windows
5.5 Windows Windows
5.6 Windows Windows
5,7 Windows Windows
5,8 Windows Windows

Deadline Cloud Conda Channel

In der folgenden Tabelle sind alle Conda-Pakete aufgeführt, die für Unreal Engine gelten und für Service-managed Flotten im Conda-Kanal verfügbar sind: deadline-cloud

BS Package Version
Windows Unreal-Engine 5.4
Windows unrealer Motor 5.5
Windows unechte Engine 5.6
Windows unechte Engine 5,7
Windows unechte Engine 5,8
Windows Unreal-Engine-OpenJD

Erste Schritte

Voraussetzungen

Bevor Sie den Unreal Engine Submitter installieren, stellen Sie sicher, dass Sie über Folgendes verfügen:

Installation des Submitters

Der Unreal Engine-Submitter fügt der Unreal Engine die Deadline Cloud-Funktionalität als Plugin hinzu, sodass Sie Ihre Movie Render Queue-Jobs zum Rendern direkt an Deadline Cloud senden können.

Wählen Sie Ihre Filiale

Wählen Sie die entsprechende Filiale für Ihre Bereitstellung aus:

VerzweigungStabilitätAnwendungsfallEmpfohlen für
Veröffentlichung StabilProduktionDie meisten Nutzer
Hauptleitung Aktuelle FunktionenEntwicklung und ErprobungFortgeschrittene Nutzer
Tipp

Verwenden Sie den Release-Zweig für Produktionsumgebungen, um Stabilität zu gewährleisten.

Erstellen einer neuen Windows Amazon EC2-Instanz, auf der Unreal installiert werden soll (optional)

Wenn Sie als Übermittler eine brandneue Windows Amazon Elastic Compute Cloud (Amazon EC2) -Instance einrichten, ist eine g5.2xlarge-Instance mit 200 GB Speicher ein angemessenes Minimum:

  1. Starten Sie eine Amazon EC2-Instance mit einem gültigen Instanzprofil. Das Profil ist erforderlich, um die NVIDIA GRID-Treiber wie unten beschrieben herunterzuladen.

  2. Laden Sie den Epic Installer herunter und installieren Sie eine unterstützte Version von Unreal Engine (5.4 bis 5.8).

    • UE 5.5 hat einen bekannten Absturzfehler, wenn es mit dem DirectX 11-Plugin ausgeführt wird (siehe UE-Problem Nr.UE-276282). Wenn Sie DirectX-Unterstützung auf UE 5.5 benötigen, verwenden Sie DirectX 12 oder höher.

  3. NVIDIA GRID-Treiber — Folgen Sie den Windows-Installationsanweisungen.

Windows: lange Pfade

Bei vielen der folgenden Schritte können Dateien entstehen, die die standardmäßige maximale Pfadlänge von Windows überschreiten. Bevor Sie den Submitter oder Adapter von Deadline Cloud for Unreal Engine auf einem Windows-Computer erstellen und installieren, empfehlen wir Ihnen, die Windows-Unterstützung für lange Pfade zu aktivieren. Folgen Sie dazu den Anweisungen auf der Seite Maximale Dateipfadbeschränkung, indem Sie beispielsweise den Befehl ausführen. PowerShell

Außerdem gibt es ein offenes Problem mit dem Worker Agent, das durch eine Abhängigkeit verursacht wird, die im Lieferumfang nicht so konfiguriert ist, dass sie lange Windows-Pfade unterstützt. Wenn Sie Ihre Worker einrichten, folgen Sie den Schritten zur Problemumgehung im verlinkten Problem, um lange Windows-Pfade vollständig zu unterstützen, bis das Problem behoben ist.

Build-Tools installieren

Das Unreal Submitter Plugin muss derzeit lokal kompiliert werden.

  1. Installieren Sie Visual Studio mit dem Visual Studio Installer.

  2. Vergewissern Sie sich, dass Ihre Visual Studio- und Build-Tools-Version mit Ihrer Version von Unreal kompatibel ist, indem Sie die Epic-Kompatibilitätstabelle überprüfen.

  3. Stellen Sie unter Einzelne Komponenten sicher, dass die ausgewählte Version der MSVC-Build-Tools (standardmäßig „Neueste“) mit der empfohlenen Version in der Tabelle übereinstimmt. Auch wenn die Kompatibilitätsrichtlinien möglicherweise eine Version „oder höher“ vorschlagen, treten manchmal Build-Fehler auf, wenn eine neuere Version als die als „empfohlen“ aufgeführte verwendet wird.

  4. Wählen Sie unter Einzelne Komponenten ein aktuelles .NET Framework-SDK aus (4.6.1 und 4.8.1 wurden verifiziert).

  5. Wählen Sie unter Workloads die Option Desktop-Entwicklung mit C++ aus.

Installation von Deadline Cloud Monitor

Der Deadline Cloud-Monitor wird verwendet, um sowohl Ihre Anmeldeinformationen für die Einreichung von Jobs an Deadline Cloud zu verwalten als auch den Status Ihrer Jobs zu überwachen.

  1. Folgen Sie den Installationsanweisungen für den Deadline Cloud-Monitor.

  2. Anmeldung

Einrichtung der Umgebung

  1. (Falls nicht bereits installiert) Installieren Sie eine aktuelle Version von Python für alle Benutzer (verifiziert mit 3.12).

  2. Stellen Sie sicher, dass Ihre Umgebungsvariablen korrekt gesetzt sind. In den Systemumgebungsvariablen muss Ihr PATH Folgendes enthalten:

    • Der Pfad zu Ihrer Python-Installation (zum BeispielC:\Program Files\Python312).

    • Der Pfad zu Ihrem Python-Skripte-Ordner (zum BeispielC:\Program Files\Python312\scripts).

    • Der Pfad zu Ihren Unreal-Binärdateien (zum BeispielC:\Program Files\Epic Games\UE_5.5\Engine\Binaries\Win64).

Installation der Deadline Cloud-Software

Klonen oder laden Sie sie entweder deadline-cloud-for-unreal-engine vom Release-Branch oder von der Mainline herunter, je nachdem, ob Sie die neueste getestete Version oder alle aktuellen Commits wünschen.

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

Optional — Erstelle und installiere das Plugin mit einem Skript

Ein Hilfsskript unter automatisiert scripts/build_plugin.py optional die nächsten beiden Schritte. Es versucht, die neueste Version von Unreal zu finden, erstellt Ihre Plugin- und Python-Abhängigkeiten und installiert sie an den richtigen Stellen. Sie können Einstellungen wie die Unreal-Version überschreiben. Um die vollständige Hilfeliste anzuzeigen, führen Sie Folgendes aus:

python scripts/build_plugin.py -h

Führen Sie Folgendes aus, um Ihre aktuelle Version von deadline-cloud-for-unreal-engine als Submitter mit der neuesten Unreal Engine-Installation zu erstellen und zu installieren:

python scripts/build_plugin.py --install

Wenn Sie mit diesem Skript erfolgreich installiert haben, können Sie zu springen. Eine Flotte erstellen

Erstellen Sie das Plugin

Passen Sie die ersten beiden Pfade unten an, je nachdem, wo sich Ihre Installation von Unreal befindet und wo Sie sie installiert habendeadline-cloud-for-unreal-engine.

Aus dem Ordner Unreal Install Batchfiles (der package Parameter kann ein beliebiges neues Verzeichnis sein, Sie möchten jedoch, dass es später aufgerufen wird): 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"

Kopieren Sie den obigen Ordner „Paket“ in den Plugins-Ordner Ihrer Unreal-Installation (zum Beispiel). C:\Program Files\Epic Games\UE_5.5\Engine\Plugins\UnrealDeadlineCloudService

Python-Abhängigkeiten

Es gibt 4 Möglichkeiten, die erforderlichen Python-Abhängigkeiten zu installieren.

1. Wenn Sie das Plugin aus dem obigen Release-Zweig erstellt und installiert haben, können Sie es von pip aus installieren. Verwende den folgenden Installationsbefehl und passe die Pfade an deine Unreal-Installation an:

"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. Alternativ kannst du in deiner .uplugin Datei (in den obigen Schritten würde das C:\Program Files\Epic Games\UE_5.5\Engine\Plugins\UnrealDeadlineCloudService\UnrealDeadlineCloudService.uplugin funktionieren) einen PythonRequirements Abschnitt hinzufügen, der der neuesten Version von deadline-cloud-for-unreal-engine in entspricht GitHub/PyPI, zum Beispiel:

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

Möglicherweise möchten Sie die Funktion „Strict Hash“ in den Python-Einstellungen von Unreal deaktivieren oder Hash-Einstellungen für bestimmte Bibliotheks- und Abhängigkeitsversionen hinzufügen, die Sie verwenden möchten.

3. Wenn Sie von der Mainline aus zugreifen, haben Sie möglicherweise Python-Abhängigkeiten, die noch nicht für PyPI veröffentlicht wurden. Sie müssen Ihre lokale Kopie erstellen und installieren, was mit Hatch möglich ist. Die .whl Datei muss geändert werden, um die Version widerzuspiegeln, die von Hatch Build ausgegeben wird:

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. Schließlich können Python-Abhängigkeiten vom Submitter-Installer installiert werden. Diese sind möglicherweise veraltet mit Ihrem obigen Code aus dem Release- oder Mainline-Zweig, und diese Methode sollte derzeit nicht bevorzugt werden.

  1. Laden Sie das Submitter-Installationsprogramm vom Tab Downloads der AWS-Konsole von Deadline Cloud oder vom Deadline Cloud-Monitor unter Workstation Setup → Downloads herunter.

  2. Führen Sie das Installationsprogramm für alle Benutzer aus. Der Standardinstallationsort ist in Ordnung.

  3. Aktivieren Sie das Unreal Engine-Plugin.

  4. Stellen Sie sicher, dass der Installationspfad des Unreal Engine-Plugins mit dem Pfad übereinstimmt, in den Ihr Plugin kopiert wurde (stellen Sie insbesondere sicher, dass Ihre Unreal-Version übereinstimmt).

Benachrichtigungen aktualisieren

Das Submitter-Plugin sucht automatisch nach neueren Versionen, GitHub wenn Unreal Editor gestartet wird. Wenn ein Update verfügbar ist, werden Sie in einem Dialogfeld aufgefordert, die Release-Seite aufzurufen.

Um Update-Benachrichtigungen zu deaktivieren, deaktiviere im Deadline Cloud-Einstellungsfeld unter Allgemeine Einstellungen das Häkchen bei Benachrichtigungen über Updates von Absendern anzeigen (Bearbeiten > Projekteinstellungen > Plugins > Deadline Cloud).

Alternativ können Sie die CLI verwenden:

deadline config set settings.submitter_update_notification false

Um es erneut zu aktivieren:

deadline config set settings.submitter_update_notification true

Eine Flotte erstellen

Wenn Sie bereits über eine Windows-Flotte verfügen und keine neue Flotte einrichten müssen, können Sie weiter zuEin Test-Rendering einreichen.

Erstellen einer vom Service Managed Fleet (SMF)

Folgen Sie dem Benutzerhandbuch für dienstverwaltete Flotten, um ein SMF zu erstellen, falls Sie noch keines haben. Bei Service Managed Fleets (SMFs) sind die Unreal Engine und der Adapter automatisch über den Conda-Kanal mit der deadline-cloud Standard-Warteschlangenumgebung verfügbar. https://docs.aws.amazon.com/deadline-cloud/latest/userguide/create-queue-environment.html#conda-queue-environment Sie sind bereit, mit dem Rendern zu beginnen. Fahren Ein Test-Rendering einreichen Sie mit den folgenden Schritten fort, um einen Test-Renderjob einzureichen.

Erstellung einer vom Kunden verwalteten Flotte (CMF)

  1. Folgen Sie Den Anweisungen Eine vom Kunden verwaltete Flotte erstellen, um ein CMF zu erstellen, falls Sie noch keines haben.

    Warnung

    Wenn Sie Ihr CMF Warteschlangen zuordnen, entfernen Sie die standardmäßige Conda-Warteschlangenumgebung, falls Sie sie nicht verwenden. Durch diese Entfernung wird verhindert, dass die Conda-Umgebung verwendet wird und versehentlich die SMF-specific Standardvariablen für Jobs verwendet werden, die an Ihr CMF gesendet werden. Wenn Sie Conda in Ihrem CMF verwenden, denken Sie daran, die CondaChannels Variablen unter CondaPackages Parameterdefinitionsüberschreibungen bei der Auftragsübergabe zu aktualisieren.

  2. Folgen Sie den Anweisungen zur Einrichtung und Konfiguration des Worker-Hosts, um einen Worker-Host einzurichten.

  3. Folgen Sie dem Abschnitt Zugriff auf Windows-Jobbenutzergeheimnisse verwalten, um die Windows-Jobbenutzergeheimnisse für Ihren CMF-Worker einzurichten.

  4. Folgen Sie Für Aufträge erforderliche Software installieren und konfigurieren, um die Software zu installieren, die für die Ausführung von Aufträgen erforderlich ist.

  5. Folgen Sie Einrichtung einer vom Kunden verwalteten Flotte (CMF) für Mitarbeiter den Anweisungen, um Ihren Worker Node für die Ausführung von Unreal Engine-Jobs einzurichten.

Ein Test-Rendering einreichen

In diesem Beispiel wird die Meerkat-Demo vom Unreal Marketplace verwendet:

  1. Starte den Epic Games Launcher.

  2. Installiere die Meerkat-Demo über den Tab Samples.

  3. Erstellen Sie ein Projekt aus der Meerkat-Demo und öffnen Sie es dann.

  4. Wählen Sie im Menü Bearbeiten die Option Plugins aus, suchen Sie nach Plugins und aktivieren Sie sie. UnrealDeadlineCloudService

  5. Starte Unreal neu, wenn du das Plugin zum ersten Mal aktiviert hast.

  6. Suchen Sie unter Bearbeiten > Projekteinstellungen nach dem Abschnitt Movie Render Pipeline.

    • Wählen Sie für Default Remote Executor die Option. MoviePipelineDeadlineCloudRemoteExecutor

    • Wählen Sie für Default Executor Job die Option aus. MoviePipelineDeadlineCloudExecutorJob

    • Wählen Sie unter Klassen für Standard-Jobeinstellungen das Symbol „Hinzufügen“ und fügen Sie es hinzu. DeadlineCloudRenderStepSetting

  7. Suchen Sie nach den Einstellungen von Deadline Cloud und überprüfen Sie die Authentifizierung:

    • Stellen Sie sicher, dass Ihr Status „AUTHENTIFIZIERT“ und die Deadline Cloud-API „AUTORISIERT“ anzeigt.

    • Wenn es nicht angezeigt wird, versuchen Sie zunächst, die Anmeldeschaltfläche zu verwenden. Wenn das nicht funktioniert, öffnen Sie den Deadline Cloud-Monitor und stellen Sie sicher, dass Sie angemeldet sind.

    • Im Abschnitt Konfiguration der Deadline Cloud Workstation:

      • Stellen Sie unter Globale Einstellungen sicher, dass Ihr AWS-Profil korrekt auf Ihr Deadline Cloud-Monitorprofil eingestellt ist.

      • Stellen Sie unter Profil sicher, dass Ihre Standardfarm auf Ihre Farm eingestellt ist.

      • Stellen Sie unter Farm sicher, dass Ihre Standard-Warteschlange auf eine Warteschlange eingestellt ist, die mit der Flotte verknüpft ist, die Sie oben eingerichtet haben.

  8. Verlassen Sie das Fenster mit den Projekteinstellungen.

  9. Wählen Sie „Windows“, „Cinematics und „Movie Render Queue“.

    • Wählen Sie + Rendern und wählen Sie Main_SEQ.

    • Wählen Sie UnsavedConfig in der Einstellungsspalte.

      • Im Popup-Fenster sollten Sie auf der linken Seite die Deadline Cloud-Einstellungen sehen. Dieses Fenster kann dann geschlossen werden.

    • Konfigurieren Sie auf der rechten Seite des Dialogs die Jobeinstellungen:

      • Unter „Voreingestellte Überschreibungen“ (möglicherweise müssen Sie diesen Dialog erweitern):

        • Erweitern Sie die Einstellungen für geteilte Jobs:

          • Legen Sie Name auf Unreal Test Job fest.

          • Stellen Sie die maximale Anzahl von Wiederholungen auf 2 ein.

        • Erweitern Sie die Job-Anhänge:

          • Wählen Sie unter Eingabedateien die Option Anzeigen aus Auto-Detected.

          • Stellen Sie sicher, dass die Liste der automatisch erkannten Dateien korrekt ausgefüllt wird.

      • Unter Job-Template-Overrides:

        • Aktualisieren Sie die Unreal Engine-Version, CondaPackages wenn Sie eine andere Version als 5.6 verwenden.

          • Die automatische Erkennung der Unreal Engine-Version wird in einer zukünftigen Version verfügbar sein.

    • Wählen Sie Rendern (Remote).

  10. Sie können zum Deadline Cloud-Monitor gehen und den Fortschritt Ihres Jobs verfolgen.

Einrichtung einer vom Kunden verwalteten Flotte (CMF) für Mitarbeiter

In diesem Abschnitt erfahren Sie, wie Sie eine Amazon EC2-Instance als CMF-Worker für Deadline Cloud mit Unreal Engine einrichten.

-Übersicht

Im Folgenden sind die wichtigsten Unterschiede zwischen CMF und SMF aufgeführt:

  • CMF: Manuelle Installation von Unreal Engine und Adapter auf Worker-Hosts.

  • SMF: Automatische Verfügbarkeit über den Conda-Kanal. deadline-cloud

Wählen Sie Ihre Filiale

Wählen Sie die entsprechende Filiale für Ihre Bereitstellung aus:

VerzweigungStabilitätAnwendungsfall
veröffentlichen StabilBereitstellungen in der Produktion
Hauptstrecke NeuesteEntwicklung und Erprobung
Wichtig

Stellen Sie sicher, dass Ihre Worker-Version mit Ihrer Submitter-Version übereinstimmt, um Kompatibilitätsprobleme zu vermeiden.

Einrichtung der Amazon EC2-Instanz

Im Folgenden wird die Instanzkonfiguration empfohlen:

  • Instanztyp: g5.2xlarge oder höher.

  • Speicher: mindestens 200 GB.

  • Betriebssystem: Windows Server 2019/2022.

Installation der Software

1. Installieren Sie Unreal Engine:

  1. Laden Sie den Epic Games Launcher herunter.

  2. Installiere Unreal Engine 5.4 oder höher.

    Anmerkung

    Unreal Engine 5.4+ ist für die Kompatibilität mit Deadline Cloud erforderlich.

2. Installieren Sie die NVIDIA GRID-Treiber:

  • Folgen Sie der Installationsanleitung für den AWS NVIDIA GRID-Treiber.

  • Erforderlich für das GPU-accelerated Rendern auf Amazon EC2-Instances.

Build-Tools installieren

Das Unreal-Plugin muss derzeit lokal kompiliert werden.

  1. Installieren Sie Visual Studio mit dem Visual Studio Installer.

  2. Vergewissern Sie sich, dass Ihre Visual Studio- und Build-Tools-Version mit Ihrer Version von Unreal kompatibel ist, indem Sie die Epic-Kompatibilitätstabelle überprüfen.

  3. Stellen Sie unter Einzelne Komponenten sicher, dass die ausgewählte Version der MSVC-Build-Tools (standardmäßig „Neueste“) mit der empfohlenen Version in der Tabelle übereinstimmt.

  4. Wählen Sie unter Einzelne Komponenten ein aktuelles .NET Framework-SDK aus (4.6.1 und 4.8.1 wurden verifiziert).

  5. Wählen Sie unter Workloads die Option Desktop-Entwicklung mit C++ aus.

Deadline: Installation der Cloud-Software

Klonen oder laden Sie sie entweder deadline-cloud-for-unreal-engine vom Release-Branch oder von der Mainline herunter. Stellen Sie sicher, dass Ihre Worker-Version der Bibliotheken mit der Version kompatibel ist, die von Ihren Einreichern verwendet wird.

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

Optional — Erstellen und installieren Sie das Plugin und die Abhängigkeiten mit einem Skript:

Unter gibt es ein Hilfsskriptscripts/build_plugin.py, das die verbleibenden Installationsschritte automatisieren kann. Es versucht, die neueste Version von Unreal zu finden, Ihre Plugin- und Python-Abhängigkeiten zu erstellen und sie an den richtigen Stellen zu installieren. Einstellungen wie die zu verwendende Unreal-Version können überschrieben werden. Um die vollständige Hilfeliste aufzurufen, führe folgenden Befehl aus:

python scripts/build_plugin.py -h

Führen Sie Folgendes aus, um Ihre aktuelle Version von deadline-cloud-for-unreal-engine as a Worker mit der neuesten Unreal Engine-Installation zu erstellen und zu installieren:

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

Konfigurieren Sie den Deadline Cloud-Worker-Agenten, indem Sie Folgendes ausführen:

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

Wenn Sie mit diesem Skript installiert und den Worker Agent erfolgreich konfiguriert haben, können Sie mit fortfahrenDen Deadline Cloud Worker Agent-Dienst starten.

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

Je nachdem, welche Version des Submitters verwendet wird, muss die richtige Version des Adapters installiert sein. Wenn Sie die Version des Submitters aus dem Release-Branch in verwenden GitHub, können Sie das einfach mit pip installieren:

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

Wenn Sie die Mainline-Version oder eine benutzerdefinierte Version des Submitters verwenden, empfehlen wir zur Vermeidung von Kompatibilitätsproblemen, dass Sie mit derselben Codeversion erstellen und installieren oder die Datei aus Ihrem Submitter-Build übertragen: .whl

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

Das Plugin erstellen

Passen Sie die ersten beiden Pfade unten an, je nachdem, wo sich Ihre Installation von Unreal befindet und wo Sie sie installiert habendeadline-cloud-for-unreal-engine.

Aus dem Ordner Unreal Install Batchfiles (der package Parameter kann ein beliebiges neues Verzeichnis sein, Sie möchten jedoch, dass es später aufgerufen wird): 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"

Kopieren Sie den obigen Ordner „Paket“ in den Plugins-Ordner Ihrer Unreal-Installation (zum Beispiel). C:\Program Files\Epic Games\UE_5.5\Engine\Plugins\UnrealDeadlineCloudService

pywin32

Die Version von Python von Unreal benötigt pywin32. Pip-Installation mit einer Kopie der Python-Installation von Unreal eines Drittanbieters:

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

Den Deadline Cloud Worker Agent-Dienst starten

Auf Ihrer CMF-Worker-Instanz:

  1. Öffnen Sie den Task-Manager.

  2. Wählen Sie auf der rechten Seite die Registerkarte Dienste.

  3. Finden DeadlineWorker.

    • Wenn Sie es nicht in der Liste sehen, haben Sie wahrscheinlich (install-deadline-workerinsbesondere) die Schritte zur Einrichtung des CMF-Hosts verpasst.

  4. Wenn der Status des Dienstes derzeit nicht „Wird ausgeführt“ lautet, klicken Sie mit der rechten Maustaste darauf und wählen Sie Start.

  5. Wenn Ihr DeadlineWorker Dienst nicht gestartet wird, überprüfen Sie die Startprotokolle des Worker Agents an folgenden Orten:

    • C:\ProgramData\Amazon\Deadline\Logs\worker-agent.log

    • C:\ProgramData\Amazon\Deadline\Logs\queue-<queueid>\session-<sessionid>.log

Verwaltung der Anmeldeinformationen in Perforce

Dieser Abschnitt behandelt die sichere Verwaltung von Anmeldeinformationen für die Integration von Perforce mit Deadline Cloud-Mitarbeitern.

-Übersicht

Es gibt verschiedene Möglichkeiten, Perforce-Anmeldeinformationen für Deadline Cloud-Mitarbeiter zu konfigurieren. Jede Methode hat unterschiedliche Sicherheitsauswirkungen und Anwendungsfälle:

MethodeSicherheitsstufeUnterstützung bei der BereitstellungEmpfohlene Verwendung
AWS Secrets Manager (Secrets Manager) HochSMF + CMFProduktion (empfohlen)
Variablen der ArbeitsumgebungNiedrigSMF + CMFNur Entwicklung und Test
Umgebungsvariablen in der WarteschlangeNiedrigSMF + CMFNur Entwicklung und Test
Windows-RegistrierungMittelNur CMFÄltere CMF-Setups
Pre-configured Admin-BenutzerMittelNur CMFVereinfachte CMF-Setups
Wichtig

Verwenden Sie Secrets Manager für Produktionsumgebungen. Es bietet eine zentrale, verschlüsselte Speicherung von Anmeldeinformationen mit Audit-Trails und funktioniert sowohl mit SMF- als auch mit CMF-Bereitstellungen.

Grundlagen der P4-Anmeldeinformationen

Zum Abrufen der Verbindungseinstellungen, einschließlich Perforce-Server-URL und -Port, Benutzername und Passwort, folgt Perforce der folgenden Priorität:

  1. Verbindungsparameter in einem beliebigen Framework für Perforce (P4) (p4python.P4zum Beispiel).

  2. User/system Umgebungsvariablen:P4PORT,,P4USER,P4CLIENT. P4PASSWD

  3. Windows-Registrierung: HKEY_LOCAL_MACHINE\SOFTWARE\Perforce\Environment (systemweite Einstellungen) oder HKEY_CURRENT_USER\SOFTWARE\Perforce\Environment (benutzerspezifische Einstellungen).

Mit diesen Prioritäten, wenn Sie das folgende Setup haben:

  • Der Verbindungsparameter password ist password.from.connection

  • Die Umgebungsvariable %P4PORT% ist ssl:perforce.from.env:1666

  • Die Windows-Registrierung HKEY_CURRENT_USER\SOFTWARE\Perforce\Environment:P4PORT ist ssl:perforce.from.registry:1666

  • Die Windows-Registrierung HKEY_CURRENT_USER\SOFTWARE\Perforce\Environment:P4USER ist user.from.registry

  • Die Windows-Registrierung HKEY_CURRENT_USER\SOFTWARE\Perforce\Environment:P4PASSWD ist password.from.registry

Die resultierende Perforce-Verbindung wird wie folgt aussehen:

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

Secrets Manager (empfohlen)

Secrets Manager bietet die sicherste und skalierbarste Lösung für CMF- und SMF-Bereitstellungen.

Diese Methode bietet folgende Vorteile:

  • Zentralisierte Sicherheit: Speichern Sie alle P4-Anmeldeinformationen an einem verschlüsselten Ort.

  • Keine Offenlegung von Anmeldeinformationen: Anmeldeinformationen erscheinen niemals in Auftragskonfigurationen oder Protokollen.

  • Automatische Rotation: Unterstützt die Rotation der Anmeldeinformationen ohne Neukonfiguration der Jobs.

  • Prüfprotokolle: Verfolgen Sie den Zugriff auf und die Nutzung der Anmeldeinformationen.

  • Universeller Support: Funktioniert sowohl mit CMF- als auch mit SMF-Bereitstellungen.

  • Protokollredigierung: Die Verbindungsdaten werden in den Jobprotokollen automatisch redigiert.

Schritt 1: Erstellen Sie ein Geheimnis im Secrets Manager

Erstellen Sie ein Geheimnis, das Ihre Perforce-Verbindungsparameter enthält.

Erforderliche Schlüssel-Wert-Paare:

  • P4PORT- URL und Port des Perforce-Servers.

  • P4USER- Perforce-Benutzername.

  • P4PASSWD- Perforce-Passwort.

Wichtig

Die Schlüsselnamen müssen exakt mit den P4-Verbindungsparametern übereinstimmen, damit sie verwendet werden können. deadline-cloud-for-unreal-engine

Beispiel für ein Geheimnis:

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

Um das Geheimnis zu erstellen:

  1. Öffnen Sie die Secrets Manager-Konsole.

  2. Wähle „Neues Geheimnis speichern“.

  3. Wähle „Andere Art von Geheimnis“.

  4. Geben Sie die obigen Schlüssel-Wert-Paare ein.

  5. Nennen Sie Ihr Geheimnis (zum Beispiel). deadline-cloud-p4-credentials

  6. Schließen Sie den Erstellungsprozess ab.

Schritt 2: Gewähren Sie Mitarbeitern Zugriff auf das Geheimnis

Mitarbeiter benötigen eine secretsmanager:GetSecretValue Genehmigung, um auf das Geheimnis zugreifen zu können. Dies folgt dem gleichen Muster wie die Verwaltung von Windows-Arbeitsbenutzergeheimnissen.

Um Zugriff zu gewähren:

  1. Öffnen Sie die Secrets Manager-Konsole und navigieren Sie zu Ihrem Secret.

  2. Fügen Sie im Abschnitt „Ressourcenberechtigungen“ diese Richtlinie hinzu:

    { "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "QUEUE_ROLE_ARN" }, "Action": [ "secretsmanager:GetSecretValue" ], "Resource": "*" } ] }
  3. QUEUE_ROLE_ARNErsetzen Sie es durch Ihren tatsächlichen ARN für die Warteschlangenrolle.

  4. Speichern Sie die Richtlinie.

Anmerkung

Speichern Sie den geheimen Namen — Sie benötigen ihn, wenn Sie P4-Renderjobs konfigurieren. Die nächsten Schritte Einen Perforce-Renderjob erstellen finden Sie unter.

Variablen der Arbeitsumgebung

Warnung

Dieser Ansatz wird für die Produktion nicht empfohlen, da er Anmeldeinformationen in Auftragskonfigurationen und Protokollen verfügbar macht. Verwenden Sie Secrets Manager für Produktionsumgebungen.

Sie können Verbindungsanmeldeinformationen innerhalb der Arbeitsumgebung weitergeben, in der die Workspace-Erstellung erfolgt, z. B. in p4_sync_smf_environment, https://github.com/aws-deadline/deadline-cloud-for-unreal-engine/blob/mainline/src/unreal_plugin/Content/Python/openjd_templates/ugs/ugs_sync_smf_environment.yml ugs_sync_smf_environment oder ähnlichen Umgebungen für CMF. Erstellen Sie alternativ eine neue Umgebungsvorlage und fügen Sie sie Ihrem Job als Anlage hinzu.

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

Dieser Ansatz birgt die folgenden Sicherheitsrisiken:

  • Anmeldeinformationen sind in Jobkonfigurationen sichtbar.

  • Passwörter können in Protokollen erscheinen (nicht automatisch redigiert).

  • Keine zentrale Verwaltung der Anmeldeinformationen.

  • Es ist schwierig, die Anmeldeinformationen zu rotieren.

Umgebungsvariablen für die Warteschlange

Warnung

Dieser Ansatz wird für die Produktion nicht empfohlen, da er Anmeldeinformationen in Warteschlangenkonfigurationen speichert. Verwenden Sie Secrets Manager für die sichere Verwaltung von Anmeldeinformationen.

Gemäß dem Deadline Cloud-Benutzerhandbuch können Sie Warteschlangenumgebungen verwenden, um Softwareanwendungen, Umgebungsvariablen und andere Ressourcen für Jobs in der Warteschlange bereitzustellen. Beispiele für Warteschlangenumgebungen finden Sie im Ordner queue_environments in deadline-cloud-samples.

Fügen Sie mithilfe des Deadline Cloud-Monitors oder der Konsole eine Warteschlangenumgebung hinzu

  1. Öffnen Sie den Deadline Cloud-Monitor oder die AWS-Konsole.

  2. Navigieren Sie zu der Farm und der Warteschlange, mit der Sie arbeiten.

  3. Wählen Sie die Registerkarte Warteschlangenumgebungen aus.

  4. Wählen Sie Aktion und dann Neu mit YAML erstellen aus.

  5. Fügen Sie Folgendes hinzu und speichern Sie:

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

Fügen Sie die Warteschlangenumgebung mithilfe der CLI hinzu

  1. Erstellen Sie eine p4_credentials.yaml Datei mit dem obigen Beispiel.

  2. Führen Sie den folgenden CLI-Befehl aus:

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

Windows-Registrierung (nur CMF)

Wichtig

Diese Lösung ist nur für CMF geeignet, wo Sie Worker-Hosts direkt konfigurieren können. Verwenden Sie für SMF-Bereitstellungen Secrets Manager.

Die Windows-Registrierung bietet lokalen Speicher für Anmeldeinformationen auf Arbeitscomputern. Diese Methode verwendet das standardmäßige Perforce-Prioritätssystem, in dem Anmeldeinformationen gespeichert werden in:

  • HKEY_LOCAL_MACHINE\SOFTWARE\Perforce\Environment(systemweite Einstellungen).

  • HKEY_CURRENT_USER\SOFTWARE\Perforce\Environment(benutzerspezifische Einstellungen).

Dieser Ansatz eignet sich nur für CMF-Bereitstellungen, bei denen Sie direkten Zugriff zur Konfiguration von Arbeitscomputern haben.

Pre-configured Admin-Benutzer (nur CMF)

Wichtig

Diese Lösung ist nur für CMF geeignet, wo Sie Worker-Hosts direkt konfigurieren können. Verwenden Sie für SMF-Bereitstellungen Secrets Manager.

Erstellen Sie einen dedizierten P4-Benutzer für Renderknoten mit einer nicht ablaufenden Verbindung, damit keine geheimen Daten wie Benutzernamen und Passwörter weitergegeben werden müssen. In diesem Fall kann ein einziger dedizierter P4-Benutzer verwendet werden, um eine Verbindung zu allen P4-Servern herzustellen, einschließlich der Commit- (Master-) und Edge-Server, auf denen auf das Projekt-Depot zugegriffen werden kann.

Daher müssen Sie den Port, zu dem Sie eine Verbindung herstellen möchten, nur übergeben, wenn der Standardport für Worker nicht konfiguriert ist. Sie können den Port übergeben, indem Sie in der Job- oder Warteschlangenumgebung Folgendes hinzufügen, ähnlich den oben dokumentierten Schritten:

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

Einen Perforce-Renderjob erstellen

In diesem Abschnitt erfahren Sie, wie Sie Perforce-integrated Renderjob-Datenressourcen konfigurieren, sodass Sie Perforce-integrated Renderjobs von Unreal Engine aus an Deadline Cloud senden können.

Voraussetzungen

Bevor Sie einen Movie Render Queue (MRQ) -Job von Unreal Engine in einem Perforce-Repository einreichen:

Einrichtung des Unreal-Projekts:

  • Das Projekt muss sich im Perforce-Workspace befinden.

  • Stellen Sie sicher, dass eine Perforce-Verbindung hergestellt ist und Sie angemeldet sind.

Einrichtung der Deadline Cloud:

Anforderungen von Perforce:

  • Gültiger Perforce-Workspace mit Projektdateien.

  • Entsprechende Perforce-Berechtigungen für Synchronisierungsvorgänge.

Architektur von Perforce-Renderaufträgen

P4-Renderjobs erweitern den Standard-Renderjob um Perforce-Synchronisationsfunktionen:

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

Hauptunterschiede zu Standardjobs:

  • Verwaltung von Anmeldeinformationen: Sichere Perforce-Anmeldeinformationsanwendung von Secrets Manager.

  • Repository-Synchronisierung: Zusätzliche Perforce-Synchronisierungsumgebung für die Workspace-Verwaltung.

  • Pfadauflösung: Umgebungsvariablen verweisen auf Perforce-Workspace-Pfade.

  • Erfassung von Abhängigkeiten: Automatische Erfassung und Synchronisierung von Perforce-tracked Assets.

So skaliert Perforce Sync für Produktionsprojekte

Unreal Engine-Produktionsprojekte können Hunderte von Gigabyte in Zehntausenden von Dateien erreichen. Die Perforce Integration sorgt dafür, dass die Synchronisationszeit proportional zu den Änderungen und nicht zur Größe des Projekts ist:

Jobs werden an eine Änderungsliste angeheftet

Bei der Einreichung setzt der Absender den PerforceChangelistNumber Job-Parameter auf die Änderungsliste, die dein Workspace synchronisiert hat. Jede Aufgabe im Job wird mit derselben Revision gerendert, sodass dein Job auch dann reproduzierbar bleibt, wenn Künstler während der Ausführung neue Änderungen einreichen. Mitarbeiter können eine Aufgabe erst starten, wenn die angeheftete Änderungsliste auf dem Server verfügbar ist, von dem aus sie die Perforce Synchronisierung durchführen.

Mitarbeiter verwenden einen stabilen Client-Workspace wieder

Jeder Worker erstellt seinen Perforce Client-Workspace in einem persistenten Stammverzeichnis. Es zeichnet die Paarung in einer workspace_info.json Registrierungsdatei auf, die zusammen mit dem Workspace gespeichert ist. Ein Ersatz-Worker, der denselben Speicher erhält, liest die Registrierung und verwendet den vorhandenen Client erneut. Es wird kein neuer Workspace erstellt. Da die Have-Liste auf dem Server unter dem Client-Namen Perforce verfolgt wird, werden bei einer normalen Synchronisierung nur die Dateirevisionen heruntergeladen, die sich seit dem letzten Job geändert haben.

Wenn Sie die Vorteile der Wiederverwendung von Client-Workspaces in einer vom Service verwalteten Flotte nutzen möchten, aktivieren Sie persistenten Speicher, sodass das Volume, auf dem sich der synchronisierte Workspace befindet, wieder an zukünftige Mitarbeiter angeschlossen werden kann.

Wenn der Netzwerkpfad zwischen der Region Ihrer Flotte und Ihrem Perforce Server einen niedrigen Durchsatz oder eine hohe Latenz aufweist, kann ein Perforce Edge-Server in der Region der Flotte als regionaler Cache für Depotdaten dienen. Weitere Informationen finden Sie unter Perforce-Quellcodeverwaltung im Deadline Cloud Developer Guide.

Perforce-Komponenten für Renderjobs einrichten

Gehen Sie wie folgt vor, um die erforderlichen Datenressourcen für Perforce-integrated Renderjobs zu erstellen.

1. Erstellen Sie das Datenelement „Perforce Credentials anwenden“

Richten Sie eine OpenJD-Umgebung ein, um Perforce-Anmeldeinformationen aus Secrets Manager abzurufen und sie auf die Perforce-Verbindung anzuwenden.

Anmerkung

Umgebungsvariablen erscheinen in Protokollen mit dem openjd_env Präfix, vertrauliche Daten (Port, Benutzer, Passwort) werden jedoch aus Sicherheitsgründen automatisch redigiert.

Schritte zur Konfiguration:

  1. Erstellen Sie ein neues Deadline Cloud Perforce Environment-Datenobjekt.

    Das Dialogfeld „Klasse für Datenbestandsinstanz auswählen“ wurde nach „Frist“ gefiltert und die Option Deadline Cloud Perforce Environment ausgewählt.
  2. Benennen Sie das Datenobjekt beschreibend (z. B. "ApplyP4SecretEnv„).

  3. Wählen Sie die p4_apply_secrets_environment.yml Vorlage ausContent/Python/openjd_templates/p4/.

  4. Konfigurieren Sie die geheime Referenz:

    Wenden Sie die Perforce-Anmeldeinformationen der Umgebungsdaten an: Name P4ApplySecrets, Pfad zur Vorlage p4_apply_secrets_environment.yml und 4INFO-Variable, die auf gesetzt ist. AWS_SECRET_P P4AccessSecretName

2. Datenbestand für die Perforce Sync-Umgebung erstellen

Richten Sie eine OpenJD-Umgebung ein, um einen Perforce-Workspace zu erstellen, Dateien vom Perforce-Server zu synchronisieren und den Workspace nach dem Rendern zu bereinigen.

Schritte zur Konfiguration:

  1. Erstellen Sie ein neues Deadline Cloud Perforce Environment-Datenobjekt.

  2. Benennen Sie das Datenobjekt anhand Ihres Flottentyps:

    • P4SyncSMFEnvfür Service Managed Fleet (SMF).

    • P4SyncCMFEnvfür eine vom Kunden verwaltete Flotte (CMF).

  3. Wählen Sie die entsprechende Vorlage aus: Content/Python/openjd_templates/p4/

    • SMF:p4_sync_smf_environment.yml.

    • CMF:. p4_sync_cmf_environment.yml

  4. Konfigurieren Sie die geheime Referenz:

    • Geben Sie den geheimen Namen Ihrer Perforce-Anmeldeinformationen in AWS_SECRET_P 4INFO ein.

    • Muss mit dem Schlüssel aus Schritt 1 übereinstimmen.

    Eigenschaften der Perforce-Sync-Umgebungsdaten: Name P4SyncSmf, Pfad zur Vorlage p4_sync_smf_environment.yml und 4INFO-Variable, gesetzt auf. AWS_SECRET_P P4AccessSecretName

3. Erstellen Sie ein Perforce Launch UE-Umgebungsdatenobjekt

Richten Sie eine OpenJD-Umgebung für den Start der Unreal Engine mit Perforce-Integration ein. Dies verweist automatisch auf den Perforce-Workspace, der von der Synchronisierungsumgebung erstellt wurde.

Schritte zur Konfiguration:

  1. Erstellen Sie ein neues Deadline Cloud Environment-Datenobjekt.

  2. Benennen Sie das Daten-Asset beschreibend (z. B. "P4LaunchUEEnv„).

  3. Wählen Sie die p4_launch_ue_environment.yml Vorlage ausContent/Python/openjd_templates/p4/.

  4. Konfigurieren Sie die Umgebungseinstellungen:

    • Setzen Sie REMOTE_EXECUTION auf. True

    • Diese Einstellung aktiviert Funktionen zum Rendern per Fernzugriff.

    Starten Sie die Unreal Engine mit den Eigenschaften der Perforce-Umgebungsdaten: Name LaunchUnrealEditorWithP4, Pfad zur Vorlage p4_launch_ue_environment.yml und die REMOTE_EXECUTION-Variable, die auf True gesetzt ist.

4. Erstellen Sie ein Perforce-Render-Step-Datenobjekt

Richten Sie einen OpenJD-Renderschritt für die Ausführung des Rendervorgangs ein.

Schritte zur Konfiguration:

  1. Erstellen Sie ein neues Deadline Cloud Render Step-Datenobjekt.

    Das Dialogfeld „Klasse für Datenbestandsinstanz auswählen“ wurde nach „Deadline Cloud“ gefiltert, wobei der Renderschritt „Deadline Cloud“ ausgewählt ist.
  2. Benennen Sie das Datenobjekt beschreibend (z. B. "P4RenderStep„).

  3. Wählen Sie die p4_render_step.yml Vorlage ausContent/Python/openjd_templates/p4/.

5. Erstellen Sie ein Perforce-Render-Job-Datenobjekt

Richten Sie einen OpenJD-Renderjob ein, der den gesamten Rendering-Workflow orchestriert.

Schritte zur Konfiguration:

  1. Erstellen Sie ein neues Datenobjekt für Deadline Cloud Render Jobs.

    Das Dialogfeld „Klasse für Datenbestandsinstanz auswählen“ wurde nach „Deadline Cloud“ gefiltert, wobei Deadline Cloud Render Job ausgewählt ist.
  2. Benennen Sie das Datenobjekt beschreibend (z. B. "P4RenderJob„).

  3. Wählen Sie die p4_render_job.yml Vorlage ausContent/Python/openjd_templates/p4/.

  4. Überprüfen Sie die Parameterdefinitionen: Die Vorlage enthält die folgenden Parameter mit ihrem Standardverhalten:

    ParameterDescriptionAuto-filledMaßnahme erforderlich
    ProjectRelativePathProjektpfad relativ zum Perforce-Workspace-StammverzeichnisJaLeer lassen — wird automatisch ausgefüllt
    ProjectNameProjektname für die Erstellung eines Perforce-ArbeitsbereichsJaLeer lassen — wird automatisch ausgefüllt
    PerforceChangelistNumberPerforce-Änderungsliste, mit der der Workspace synchronisiert werden sollJaLeer lassen — wird automatisch ausgefüllt
    PerforceWorkspaceSpecificationTemplatePerforce-Client-Spezifikation mit Token {workspace_name}JaLeer lassen — wird automatisch ausgefüllt
    MrqJobDependenciesDescriptorJSON-Datei mit MRQ-Abhängigkeiten für die SynchronisierungJaLeer lassen — wird automatisch ausgefüllt
    ExtraCmdArgsFileDatei für zusätzliche Argumente (vermeidet das Limit von 1024 Zeichen)NeinOptional — verwenden Sie die Standardeinstellung für Standard-Setups
    FramesPerTaskAnzahl der Frames, die pro Aufgabe gerendert werden sollenNeinOptional: Verwenden Sie die Standardeinstellung (0), um Aufgaben nach Aufnahmen zu unterteilen
    ExtraCmdArgsZusätzliche Argumente für den Start von UnrealNeinOptional — verwenden Sie die Standardeinstellung für Standard-Setups
    ExecutableUnwirklicher Name der ausführbaren Datei für den RenderknotenNeinKonfigurieren — verwendet die Standardeinstellung für Standard-Setups
    CondaPackagesConda-Pakete, die zum Rendern des Jobs benötigt werdenNeinKonfigurieren — verwendet die Standardeinstellung für Standard-Setups
    CondaChannelsConda-Kanäle, in denen Pakete gespeichert werdenNeinKonfigurieren — verwendet die Standardeinstellung für Standard-Setups
    ShotsPerTaskAnzahl der Aufnahmen, die in einer einzelnen Rendersitzung gruppiert wurdenNeinKonfigurieren — Standard: 1 (je nach Leistung einstellen)
    SubmitModeÜbertragen Sie die Renderausgaben in Perforce ('',submit, odershelve)NeinOptional — standardmäßig ist die Übermittlung von '' Perforce-Ausgaben deaktiviert
    MarketplacePluginsDirPfad zu den Engine-Marketplace-PluginsJaLeer lassen — wird automatisch ausgefüllt

    Richtlinien für die Parameterkonfiguration:

    • Auto-populated Parameter: Lassen Sie diese Felder leer — sie werden bei der Einreichung des Jobs automatisch gefüllt.

    • Manuelle Parameter: Überprüfen Sie die Standardeinstellungen und passen Sie sie an Ihre spezifischen Anforderungen an.

    • ShotsPerTask: Beginnen Sie mit 1 und erhöhen Sie diese, um eine bessere Leistung mit einfachen Aufnahmen zu erzielen.

    Eigenschaften der Parameterdefinition für das Perforce-Renderjob-Datenelement, die Liste ProjectRelativePath, ProjectName, PerforceChangelistNumber, PerforceWorkspaceSpecificationTemplate,, MrqJobDependenciesDescriptor, ExtraCmdArgs,, ExtraCmdArgsFile,, die ausführbare Datei und die ChunkSize Felder. CondaPackages CondaChannels
  5. Konfigurieren Sie Umgebungen (in genau dieser Reihenfolge):

    OrderUmgebungZweck
    1."ApplyP4SecretEnv"Wenden Sie die Perforce-Anmeldeinformationen von Secrets Manager an
    2.„P4SyncSMFEnv" oder "P4SyncCMFEnv“Perforce-Workspace und Dateien synchronisieren
    3."P4LaunchUEEnv"Starten Sie Unreal Engine mit Perforce-Pfaden
    Wichtig

    Die Reihenfolge der Umgebung ist für die korrekte Auflösung von Abhängigkeiten und den Fluss der Anmeldeinformationen unerlässlich.

  6. Renderschritt hinzufügen: Fügen Sie "P4RenderStep" zum Abschnitt „Schritte“ hinzu.

    Das Feld „Umgebungen“ des P4SyncSMFEnv Render-Auftragsdatenbestands wird angezeigt ApplyP4SecretsEnv und P4LaunchUEEnv in der richtigen Reihenfolge unter Schritte P4RenderStep hinzugefügt.

Renderausgaben zurück an Perforce senden

Standardmäßig werden Ausgaben bei einem Perforce Renderauftrag nur über Auftragsanhänge hochgeladen. Der SubmitMode Job-Parameter aktiviert, dass Perforce stattdessen gerenderte Ausgaben dorthin verschoben werden, sodass fertige Frames zusammen mit dem Projekt in Ihrem Depot landen.

SubmitMode WertBehavior
'' (Standard)Nur Auftragsanhänge. Es erfolgt kein Perforce Schreibvorgang. Bestehende Jobs verhalten sich unverändert.
submitJede Renderaufgabe legt die von ihr erstellten Dateien in ein Regal. Wenn jede Aufgabe abgeschlossen ist, fasst ein AssembleShelves Schritt alle Task-Shelves zu einer einzigen aggregierten Änderungsliste zusammen und übermittelt sie. Das Auftragsprotokoll zeichnet die endgültige Nummer der Änderungsliste auf.
shelveGleiche Aggregation wiesubmit, aber die endgültige aggregierte Änderungsliste wird zurückgestellt statt eingereicht, sodass eine Person das Aggregat überprüfen kann, bevor es festgeschrieben wird.

Nur Dateien, die sich seit der letzten Synchronisierung geändert haben, landen in der Änderungsliste. Jede Aufgabe gleicht die exakten Dateien ab, die sie erzeugt hat, und die Integration macht Dateien rückgängig, deren Inhalt mit der Depotrevision identisch ist. Das erneute Rendern eines unveränderten Frames erzeugt also keinen Eintrag in der Änderungsliste.

Anmerkung

Wenn „submitoder“ SubmitMode istshelve, lädt der Job keine Renderausgaben über Auftragsanhänge auf Amazon S3 hoch. Perforcewird zum einzigen Lieferweg für die Frames. Die Funktion zum Herunterladen von Ausgaben im Deadline Cloud-Monitor findet die Frames nicht, und Downstream-Jobs, die Ausgaben über Job-Anhänge konsumieren, sehen sie nicht. Eingabeanhänge werden weiterhin wie gewohnt über Job-Anhänge hochgeladen.

Konfigurieren Sie Ihre Mitarbeiter so, dass sie sich für alle Aufgaben in einem Job Perforce als Perforce derselbe Benutzer authentifizieren, da beim Aggregationsschritt Aufgabenablagen nach Eigentümern gesucht werden. Die empfohlene Einrichtung von AnmeldeinformationenVerwaltung der Anmeldeinformationen in Perforce, ein einziger gemeinsamer geheimer Schlüssel in Secrets Manager, erfüllt diese Anforderung bereits.

Bewährte Methoden

Pre-submission Checkliste

  • Anmeldeinformationen: Die Perforce-Anmeldeinformationen sind ordnungsgemäß konfiguriert (sieheVerwaltung der Anmeldeinformationen in Perforce).

  • Workspace: Die Spezifikation umfasst alle erforderlichen Ansichtszuordnungen.

  • Testen: Testen Sie mit einer kleinen Renderaufgabe, bevor Sie große Aufträge einreichen.

  • Abhängigkeiten: Stellen Sie sicher, dass alle Projektabhängigkeiten in Perforce vorhanden und zugänglich sind.

  • Berechtigungen: Bestätigen Sie, dass Worker-Rollen Zugriff auf Secrets Manager haben.

Leistungsoptimierung

Die folgende Tabelle zeigt, wie sich die ShotsPerTask Einstellung auf die Leistung auswirkt:

Schüsse pro AufgabeAnwendungsfallAuswirkung auf die Leistung
1-2 SchüsseKomplexe Aufnahmen, detaillierte Überprüfung erforderlichNiedrigerer Durchsatz, höhere Qualitätskontrolle
4-8 SchüsseAusgewogene Arbeitsbelastung, typische ProjekteOptimales Gleichgewicht zwischen Geschwindigkeit und Verwaltbarkeit
Über 10 SchüsseEinfache Aufnahmen, StapelverarbeitungMaximaler Durchsatz, minimaler Aufwand

Ziehen Sie die folgenden zusätzlichen Optimierungen in Betracht:

  • Abhängigkeiten: Minimieren Sie unnötige Asset-Abhängigkeiten, um die Synchronisierungszeit zu reduzieren.

  • Workspace-Ansichten: Optimieren Sie Perforce-Workspace-Ansichten, um nur die benötigten Dateien zu synchronisieren.

Überwachung und Debugging

  • Auftragsprotokolle: Überwachen Sie den Perforce-Synchronisierungsprozess in den Protokollen der Auftragsausführung.

  • Workspace-Status: Prüfen Sie die Erstellung und den Abschluss der Synchronisierung des Workspace.

  • Erfassung von Abhängigkeiten: Stelle sicher, dass alle erforderlichen Ressourcen erfasst wurden.

  • Leistungskennzahlen: Verfolgen Sie die Synchronisierungszeiten und die Renderleistung.

Fehlerbehebung

Häufige Probleme und Lösungen

ProblemSymptomeLösung
P4-Verbindungsfehler Authentifizierungsfehler, TimeoutÜberprüfen Sie die Perforce-Anmeldeinformationen; überprüfen Sie die Netzwerkkonnektivität; validieren Sie die Barrierefreiheit des Perforce-Servers
Fehler bei der Workspace-Synchronisierung Synchronisierungsfehler, Erlaubnis verweigertÜberprüfen Sie die Perforce-Benutzerberechtigungen; überprüfen Sie die Workspace-Spezifikation; stellen Sie sicher, dass die Änderungsliste existiert
Fehlende Abhängigkeiten Renderfehler, fehlende AssetsÜberprüfenMrqJobDependenciesDescriptor; überprüfen Sie die Erfassung von Soft-Referenzen; verifizieren Sie alle Assets in Perforce
Probleme bei der Pfadauflösung Fehler „Datei wurde nicht gefunden“P4_CLIENT_DIRECTORYVariable überprüfen; Reihenfolge der Umgebung überprüfen; Workspace-Stammpfade validieren

Schritte zum Debuggen

  1. Jobprotokolle überprüfen: Überprüfen Sie die Perforce-Sync-Umgebungsprotokolle auf detaillierte Fehlermeldungen.

  2. Workspace validieren: Stellen Sie sicher, dass die Perforce-Workspace-Spezifikation korrekt ist.

  3. Lokal testen: Vergewissern Sie sich, dass die Perforce-Operationen vom Computer des Absenders aus funktionieren.

  4. Berechtigungen überprüfen: Stellen Sie sicher, dass Worker-Rollen geheimen Zugriff haben (wenn Sie Secrets Manager verwenden).

Benutzerdefinierte Host-Anforderungen

In diesem Abschnitt wird beschrieben, wie benutzerdefinierte Hostanforderungen für das Rendern mit Deadline Cloud in Unreal Engine erstellt und verwendet werden.

-Übersicht

Die Host-Anforderungen definieren, welche Flotte für einen bestimmten Renderschritt berechtigt ist. Sie werden in einem UDeadlineCloudHostRequirements Asset gespeichert, auf das dann von einem DeadlineCloudRenderStep Asset verwiesen wird.

Art der AnforderungSpeicherort der KonfigurationAnwendungsfall
Grundlegende SystemanforderungenCPU-/RAM-/GPU-FelderBeschränken Sie das Rendern auf Maschinen mit bestimmter Hardware
Anforderungen an die benutzerdefinierte MengeName + min/max WerteErfordert numerische Ressourcenebenen (Lizenzen, Token, Kontingente)
Anforderungen an benutzerdefinierte AttributeListe von Attributen und WertenErforderliche benutzerdefinierte Attribute für Flotten, um den Schritt auszuführen
Anmerkung

Wenn Sie eine Anforderung mithilfe des Augensymbols ausblenden, wird sie nur in der MRQ Submit-Benutzeroberfläche ausgeblendet. Die Anforderung gilt weiterhin, wenn der Job eingereicht wird.

Wichtig

Die Attribute Werte Name und, die für benutzerdefinierte Betragsanforderungen und benutzerdefinierte Attribute verwendet werden, müssen genau mit den gültigen Identifikatoren übereinstimmen, die in der offiziellen Dokumentation zur offenen Stellenbeschreibung definiert sind: Offene Stellenbeschreibungen.

Schritt 1: Erstellen Sie das Asset mit den Anforderungen für den Host

  1. Öffnen Sie den Content Browser in Unreal Engine.

  2. Erstellen Sie ein neues Asset: Hinzufügen Verschiedenes Datenbestand DeadlineCloudHostRequirements.

  3. Benennen Sie das Asset, zum BeispielMyHostRequirements.

Schritt 2: Laden Sie die Standard-YAML-Vorlage

  1. Suchen Sie im Bereich mit den Asset-Details das Feld Pfad zur Vorlage.

  2. Wählen Sie die Standardvorlage aus:Plugins/UnrealDeadlineCloudService/Content/Python/openjd_templates/host_requirements.yml.

Dadurch werden grundlegende Anforderungen wie CPU, Speicher, GPU, Betriebssystem und Architektur geladen.

Anmerkung

Basisanforderungen können nicht entfernt werden; nur ihre Werte können geändert werden.

Schritt 3: Konfigurieren Sie die grundlegenden (System-) Anforderungen

EinstellungBeispiel
Betriebssystemwindows
CPU-Architekturx86_64
vCPUs (min)16
GPUs (Minute)1

Wenn Max = 0 ist, gibt es keine Obergrenze für diese Anforderung.

Schritt 4: Fügen Sie benutzerdefinierte Betragsanforderungen hinzu

Wird verwendet, wenn die Anforderung numerisch ist (z. B. Anzahl der Lizenzen, Parallelitätsbeschränkungen).

  1. Suchen Sie den Abschnitt Anforderungen an benutzerdefinierte Beträge.

  2. Fügen Sie einen neuen Eintrag hinzu und legen Sie einen Namen fest, zum Beispiel:amount.custom.license.

  3. Stellen Sie die Min- und Max-Werte ein:

    • Min.: 1.

    • Max: 0 (0 bedeutet unbegrenzt).

Schritt 5: Fügen Sie benutzerdefinierte Attributanforderungen hinzu

Wird verwendet, um Mitarbeiter anhand von Stichwörtern und Labels zu filtern.

  1. Suchen Sie den Abschnitt Anforderungen an benutzerdefinierte Attribute.

  2. Fügen Sie einen neuen Attributnamen hinzu, zum Beispiel:attr.custom.gpu.vendor.

  3. Wählen Sie die passende Regel aus:

    • AllOf- alle Werte müssen übereinstimmen.

    • AnyOf- mindestens einer muss übereinstimmen.

  4. Geben Sie durch Leerzeichen getrennte Attributwerte ein, zum Beispiel:nvidia amd.

Schritt 6: Sichtbarkeit in MRQ (optional)

Jeder Anforderungseintrag hat ein Augensymbol.

AugeBehavior
Visible (Sichtbar)Die Anforderung wird in der MRQ Submit UI angezeigt
HiddenDie Anforderung ist ausgeblendet, aber beim Senden des Jobs immer noch enthalten

Diese Einstellung ist nützlich, um die Benutzeroberfläche für Künstler zu vereinfachen und gleichzeitig technische Einschränkungen beizubehalten.

Schritt 7: Hängen Sie die Anforderungen an einen Renderschritt an

  1. Öffnen Sie das entsprechende DeadlineCloudRenderStep Asset.

  2. Suchen Sie das Feld Host-Anforderungen.

  3. Ordnen Sie Ihr erstelltes Asset zu (z. B.MyHostRequirements).

Alle MRQ-Übermittlungen, die diesen Schritt verwenden, setzen jetzt Ihre Host-Auswahllogik um.

Zusammenfassung

Mit dem Asset mit den Anforderungen an den Gastgeber können Sie:

  • Steuern Sie, welche Worker-Computer Ihre Renderjobs ausführen.

  • Geben Sie die Mindestressourcenstufen an.

  • Mithilfe des Attributabgleichs können Sie auf bestimmte Workerpools abzielen.

  • Vereinfachen Sie die Benutzeroberfläche und behalten Sie gleichzeitig die technischen Regeln bei.

  • Verwenden Sie die Einstellungen in mehreren MRQ-Schritten wieder.

Dieses Setup verbessert die Konsistenz des Job-Routings und stellt sicher, dass das Rendern auf der richtigen Hardware erfolgt.

Erweiterte Konfigurationen

Service-managed Flotten im Vergleich zu vom Kunden verwalteten Flotten

Service-managed Flotten (SMF)

Bei von Diensten verwalteten Flotten sind die Unreal Engine und der Adapter automatisch über den deadline-cloud Conda-Channel mit der Standard-Warteschlangenumgebung verfügbar. Dieses Setup bietet die einfachste Erfahrung.

Customer-managed Flotten (CMF)

Bei vom Kunden verwalteten Flotten müssen Unreal Engine und der Adapter manuell auf Worker-Hosts installiert werden. Dieses Setup bietet mehr Kontrolle und unterstützt zusätzliche Funktionen wie die Perforce-Integration. Detaillierte Anweisungen finden Sie unter Einrichtung einer vom Kunden verwalteten Flotte (CMF) für Mitarbeiter.

Funktionen zum Rendern in Unreal Engine

Das Rendersystem von Unreal Engine bietet umfassende Unterstützung für:

Feature Description Hinweise
Warteschlange zum Rendern von Filmen High-quality Offline-Rendern Integration mit der Einreichung von Jobs
Sequenzer Timeline-based Animationssystem Automatische Schusserkennung und -verarbeitung
Projekt-Plugins Unterstützung für benutzerdefinierte Plugins Automatische Erkennung und Aufnahme
Abhängigkeiten von Vermögenswerten Verwaltung von Inhaltsdateien Umfassende Bestandsverfolgung
Dauerhaftes Rendern Persistenz der Anwendung zwischen den Aufnahmen Verbesserte Leistung bei Sequenzen mit mehreren Aufnahmen

Alle Rendering-Funktionen werden automatisch vom in Unreal Engine integrierten Submitter erkannt und konfiguriert. Der Adapter gewährleistet die korrekte Handhabung von Abhängigkeiten und unterstützt effizientes Multi-Shot-Rendern, ohne dass die Unreal Engine neu gestartet werden muss.

Open-Source-Ressourcen

Der Einreicher und der Adapter sind Open Source und verfügbar unter: GitHub