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:
-
Windows-Workstation (Windows 10 oder höher)
-
Unterstützte Version von Unreal Engine installiert
-
Deadline Cloud Monitor installiert (hier https://docs.aws.amazon.com/deadline-cloud/latest/userguide/monitor-onboarding.html herunterladen)
-
Zugriff auf eine Deadline Cloud-Farm mit entweder einer vom GPU-enabled Windows-Dienst verwalteten Flotte oder einer vom Kunden verwalteten Flotte mit Unreal Engine, dem Unreal Engine-Adapter und der Einrichtung der Lizenzierung
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:
| Verzweigung | Stabilität | Anwendungsfall | Empfohlen für |
|---|---|---|---|
| Veröffentlichung | Stabil | Produktion | Die meisten Nutzer |
| Hauptleitung | Aktuelle Funktionen | Entwicklung und Erprobung | Fortgeschrittene 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:
Starten Sie eine Amazon EC2-Instance mit einem gültigen Instanzprofil. Das Profil ist erforderlich, um die NVIDIA GRID-Treiber wie unten beschrieben herunterzuladen.
-
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.
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
Außerdem gibt es ein offenes Problem mit dem Worker Agent, das durch eine Abhängigkeit
Build-Tools installieren
Das Unreal Submitter Plugin muss derzeit lokal kompiliert werden.
Installieren Sie Visual Studio mit dem Visual Studio Installer.
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. 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.
Wählen Sie unter Einzelne Komponenten ein aktuelles .NET Framework-SDK aus (4.6.1 und 4.8.1 wurden verifiziert).
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.
Folgen Sie den Installationsanweisungen für den Deadline Cloud-Monitor.
Anmeldung
Einrichtung der Umgebung
(Falls nicht bereits installiert) Installieren Sie eine aktuelle Version von Python für alle Benutzer (verifiziert mit 3.12).
-
Stellen Sie sicher, dass Ihre Umgebungsvariablen korrekt gesetzt sind. In den Systemumgebungsvariablen muss Ihr PATH Folgendes enthalten:
Der Pfad zu Ihrer Python-Installation (zum Beispiel
C:\Program Files\Python312).Der Pfad zu Ihrem Python-Skripte-Ordner (zum Beispiel
C:\Program Files\Python312\scripts).Der Pfad zu Ihren Unreal-Binärdateien (zum Beispiel
C:\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.
Laden Sie das Submitter-Installationsprogramm vom Tab Downloads der AWS-Konsole von Deadline Cloud oder vom Deadline Cloud-Monitor unter Workstation Setup → Downloads herunter.
Führen Sie das Installationsprogramm für alle Benutzer aus. Der Standardinstallationsort ist in Ordnung.
Aktivieren Sie das Unreal Engine-Plugin.
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)
-
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
CondaChannelsVariablen unterCondaPackagesParameterdefinitionsüberschreibungen bei der Auftragsübergabe zu aktualisieren. Folgen Sie den Anweisungen zur Einrichtung und Konfiguration des Worker-Hosts, um einen Worker-Host einzurichten.
Folgen Sie dem Abschnitt Zugriff auf Windows-Jobbenutzergeheimnisse verwalten, um die Windows-Jobbenutzergeheimnisse für Ihren CMF-Worker einzurichten.
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.
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:
Starte den Epic Games Launcher.
Installiere die Meerkat-Demo über den Tab Samples.
Erstellen Sie ein Projekt aus der Meerkat-Demo und öffnen Sie es dann.
Wählen Sie im Menü Bearbeiten die Option Plugins aus, suchen Sie nach Plugins und aktivieren Sie sie. UnrealDeadlineCloudService
Starte Unreal neu, wenn du das Plugin zum ersten Mal aktiviert hast.
-
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
-
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.
Verlassen Sie das Fenster mit den Projekteinstellungen.
-
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 Jobfest.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).
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:
| Verzweigung | Stabilität | Anwendungsfall |
|---|---|---|
| veröffentlichen | Stabil | Bereitstellungen in der Produktion |
| Hauptstrecke | Neueste | Entwicklung 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:
Laden Sie den Epic Games Launcher herunter.
-
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.
Installieren Sie Visual Studio mit dem Visual Studio Installer
. 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. 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.
Wählen Sie unter Einzelne Komponenten ein aktuelles .NET Framework-SDK aus (4.6.1 und 4.8.1 wurden verifiziert).
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:
Öffnen Sie den Task-Manager.
Wählen Sie auf der rechten Seite die Registerkarte Dienste.
-
Finden DeadlineWorker.
Wenn Sie es nicht in der Liste sehen, haben Sie wahrscheinlich (
install-deadline-workerinsbesondere) die Schritte zur Einrichtung des CMF-Hosts verpasst.
Wenn der Status des Dienstes derzeit nicht „Wird ausgeführt“ lautet, klicken Sie mit der rechten Maustaste darauf und wählen Sie Start.
-
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.logC:\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:
| Methode | Sicherheitsstufe | Unterstützung bei der Bereitstellung | Empfohlene Verwendung |
|---|---|---|---|
| AWS Secrets Manager (Secrets Manager) | Hoch | SMF + CMF | Produktion (empfohlen) |
| Variablen der Arbeitsumgebung | Niedrig | SMF + CMF | Nur Entwicklung und Test |
| Umgebungsvariablen in der Warteschlange | Niedrig | SMF + CMF | Nur Entwicklung und Test |
| Windows-Registrierung | Mittel | Nur CMF | Ältere CMF-Setups |
| Pre-configured Admin-Benutzer | Mittel | Nur CMF | Vereinfachte 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:
Verbindungsparameter in einem beliebigen Framework für Perforce (P4) (
p4python.P4zum Beispiel).User/system Umgebungsvariablen:
P4PORT,,P4USER,P4CLIENT.P4PASSWDWindows-Registrierung:
HKEY_LOCAL_MACHINE\SOFTWARE\Perforce\Environment(systemweite Einstellungen) oderHKEY_CURRENT_USER\SOFTWARE\Perforce\Environment(benutzerspezifische Einstellungen).
Mit diesen Prioritäten, wenn Sie das folgende Setup haben:
Der Verbindungsparameter
passwordistpassword.from.connectionDie Umgebungsvariable
%P4PORT%istssl:perforce.from.env:1666Die Windows-Registrierung
HKEY_CURRENT_USER\SOFTWARE\Perforce\Environment:P4PORTistssl:perforce.from.registry:1666Die Windows-Registrierung
HKEY_CURRENT_USER\SOFTWARE\Perforce\Environment:P4USERistuser.from.registryDie Windows-Registrierung
HKEY_CURRENT_USER\SOFTWARE\Perforce\Environment:P4PASSWDistpassword.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:
Öffnen Sie die Secrets Manager-Konsole.
Wähle „Neues Geheimnis speichern“.
Wähle „Andere Art von Geheimnis“.
Geben Sie die obigen Schlüssel-Wert-Paare ein.
Nennen Sie Ihr Geheimnis (zum Beispiel).
deadline-cloud-p4-credentialsSchließ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:
Öffnen Sie die Secrets Manager-Konsole und navigieren Sie zu Ihrem Secret.
-
Fügen Sie im Abschnitt „Ressourcenberechtigungen“ diese Richtlinie hinzu:
{ "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "QUEUE_ROLE_ARN" }, "Action": [ "secretsmanager:GetSecretValue" ], "Resource": "*" } ] } QUEUE_ROLE_ARNErsetzen Sie es durch Ihren tatsächlichen ARN für die Warteschlangenrolle.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
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
Öffnen Sie den Deadline Cloud-Monitor oder die AWS-Konsole.
Navigieren Sie zu der Farm und der Warteschlange, mit der Sie arbeiten.
Wählen Sie die Registerkarte Warteschlangenumgebungen aus.
Wählen Sie Aktion und dann Neu mit YAML erstellen aus.
-
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
Erstellen Sie eine
p4_credentials.yamlDatei mit dem obigen Beispiel.-
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:
Schließen Sie Installation des Submitters ab.
Verwaltung der Anmeldeinformationen in PerforceFür Mitarbeiter konfigurieren.
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
PerforceChangelistNumberJob-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.jsonRegistrierungsdatei 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:
-
Erstellen Sie ein neues Deadline Cloud Perforce Environment-Datenobjekt.
Benennen Sie das Datenobjekt beschreibend (z. B. "ApplyP4SecretEnv„).
Wählen Sie die
p4_apply_secrets_environment.ymlVorlage ausContent/Python/openjd_templates/p4/.-
Konfigurieren Sie die geheime Referenz:
Geben Sie den geheimen Namen Ihrer Perforce-Anmeldeinformationen in AWS_SECRET_P 4INFO ein.
Der Wert sollte mit dem geheimen Namen übereinstimmen, der in erstellt wurde. Verwaltung der Anmeldeinformationen in Perforce
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:
Erstellen Sie ein neues Deadline Cloud Perforce Environment-Datenobjekt.
-
Benennen Sie das Datenobjekt anhand Ihres Flottentyps:
P4SyncSMFEnvfür Service Managed Fleet (SMF).
P4SyncCMFEnvfür eine vom Kunden verwaltete Flotte (CMF).
-
Wählen Sie die entsprechende Vorlage aus:
Content/Python/openjd_templates/p4/SMF:
p4_sync_smf_environment.yml.CMF:.
p4_sync_cmf_environment.yml
-
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.
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:
Erstellen Sie ein neues Deadline Cloud Environment-Datenobjekt.
Benennen Sie das Daten-Asset beschreibend (z. B. "P4LaunchUEEnv„).
Wählen Sie die
p4_launch_ue_environment.ymlVorlage ausContent/Python/openjd_templates/p4/.-
Konfigurieren Sie die Umgebungseinstellungen:
Setzen Sie REMOTE_EXECUTION auf.
TrueDiese Einstellung aktiviert Funktionen zum Rendern per Fernzugriff.
4. Erstellen Sie ein Perforce-Render-Step-Datenobjekt
Richten Sie einen OpenJD-Renderschritt für die Ausführung des Rendervorgangs ein.
Schritte zur Konfiguration:
-
Erstellen Sie ein neues Deadline Cloud Render Step-Datenobjekt.
Benennen Sie das Datenobjekt beschreibend (z. B. "P4RenderStep„).
Wählen Sie die
p4_render_step.ymlVorlage 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:
-
Erstellen Sie ein neues Datenobjekt für Deadline Cloud Render Jobs.
Benennen Sie das Datenobjekt beschreibend (z. B. "P4RenderJob„).
Wählen Sie die
p4_render_job.ymlVorlage ausContent/Python/openjd_templates/p4/.-
Überprüfen Sie die Parameterdefinitionen: Die Vorlage enthält die folgenden Parameter mit ihrem Standardverhalten:
Parameter Description Auto-filled Maßnahme erforderlich ProjectRelativePathProjektpfad relativ zum Perforce-Workspace-Stammverzeichnis Ja Leer lassen — wird automatisch ausgefüllt ProjectNameProjektname für die Erstellung eines Perforce-Arbeitsbereichs Ja Leer lassen — wird automatisch ausgefüllt PerforceChangelistNumberPerforce-Änderungsliste, mit der der Workspace synchronisiert werden soll Ja Leer lassen — wird automatisch ausgefüllt PerforceWorkspaceSpecificationTemplatePerforce-Client-Spezifikation mit Token {workspace_name}Ja Leer lassen — wird automatisch ausgefüllt MrqJobDependenciesDescriptorJSON-Datei mit MRQ-Abhängigkeiten für die Synchronisierung Ja Leer lassen — wird automatisch ausgefüllt ExtraCmdArgsFileDatei für zusätzliche Argumente (vermeidet das Limit von 1024 Zeichen) Nein Optional — verwenden Sie die Standardeinstellung für Standard-Setups FramesPerTaskAnzahl der Frames, die pro Aufgabe gerendert werden sollen Nein Optional: Verwenden Sie die Standardeinstellung (0), um Aufgaben nach Aufnahmen zu unterteilen ExtraCmdArgsZusätzliche Argumente für den Start von Unreal Nein Optional — verwenden Sie die Standardeinstellung für Standard-Setups ExecutableUnwirklicher Name der ausführbaren Datei für den Renderknoten Nein Konfigurieren — verwendet die Standardeinstellung für Standard-Setups CondaPackagesConda-Pakete, die zum Rendern des Jobs benötigt werden Nein Konfigurieren — verwendet die Standardeinstellung für Standard-Setups CondaChannelsConda-Kanäle, in denen Pakete gespeichert werden Nein Konfigurieren — verwendet die Standardeinstellung für Standard-Setups ShotsPerTaskAnzahl der Aufnahmen, die in einer einzelnen Rendersitzung gruppiert wurden Nein Konfigurieren — Standard: 1 (je nach Leistung einstellen) SubmitModeÜbertragen Sie die Renderausgaben in Perforce ( '',submit, odershelve)Nein Optional — standardmäßig ist die Übermittlung von ''Perforce-Ausgaben deaktiviertMarketplacePluginsDirPfad zu den Engine-Marketplace-Plugins Ja Leer 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.
-
Konfigurieren Sie Umgebungen (in genau dieser Reihenfolge):
Order Umgebung Zweck 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.
-
Renderschritt hinzufügen: Fügen Sie "P4RenderStep" zum Abschnitt „Schritte“ hinzu.
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 Wert | Behavior |
|---|---|
'' (Standard) | Nur Auftragsanhänge. Es erfolgt kein Perforce Schreibvorgang. Bestehende Jobs verhalten sich unverändert. |
submit | Jede 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. |
shelve | Gleiche 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 Aufgabe | Anwendungsfall | Auswirkung auf die Leistung |
|---|---|---|
| 1-2 Schüsse | Komplexe Aufnahmen, detaillierte Überprüfung erforderlich | Niedrigerer Durchsatz, höhere Qualitätskontrolle |
| 4-8 Schüsse | Ausgewogene Arbeitsbelastung, typische Projekte | Optimales Gleichgewicht zwischen Geschwindigkeit und Verwaltbarkeit |
| Über 10 Schüsse | Einfache Aufnahmen, Stapelverarbeitung | Maximaler 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
| Problem | Symptome | Lö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
Jobprotokolle überprüfen: Überprüfen Sie die Perforce-Sync-Umgebungsprotokolle auf detaillierte Fehlermeldungen.
Workspace validieren: Stellen Sie sicher, dass die Perforce-Workspace-Spezifikation korrekt ist.
Lokal testen: Vergewissern Sie sich, dass die Perforce-Operationen vom Computer des Absenders aus funktionieren.
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 Anforderung | Speicherort der Konfiguration | Anwendungsfall |
|---|---|---|
| Grundlegende Systemanforderungen | CPU-/RAM-/GPU-Felder | Beschränken Sie das Rendern auf Maschinen mit bestimmter Hardware |
| Anforderungen an die benutzerdefinierte Menge | Name + min/max Werte | Erfordert numerische Ressourcenebenen (Lizenzen, Token, Kontingente) |
| Anforderungen an benutzerdefinierte Attribute | Liste von Attributen und Werten | Erforderliche 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
Öffnen Sie den Content Browser in Unreal Engine.
Erstellen Sie ein neues Asset: Hinzufügen → Verschiedenes → Datenbestand → DeadlineCloudHostRequirements.
Benennen Sie das Asset, zum Beispiel
MyHostRequirements.
Schritt 2: Laden Sie die Standard-YAML-Vorlage
Suchen Sie im Bereich mit den Asset-Details das Feld Pfad zur Vorlage.
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
| Einstellung | Beispiel |
|---|---|
| Betriebssystem | windows |
| CPU-Architektur | x86_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).
Suchen Sie den Abschnitt Anforderungen an benutzerdefinierte Beträge.
Fügen Sie einen neuen Eintrag hinzu und legen Sie einen Namen fest, zum Beispiel:
amount.custom.license.-
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.
Suchen Sie den Abschnitt Anforderungen an benutzerdefinierte Attribute.
Fügen Sie einen neuen Attributnamen hinzu, zum Beispiel:
attr.custom.gpu.vendor.-
Wählen Sie die passende Regel aus:
AllOf- alle Werte müssen übereinstimmen.
AnyOf- mindestens einer muss übereinstimmen.
Geben Sie durch Leerzeichen getrennte Attributwerte ein, zum Beispiel:
nvidia amd.
Schritt 6: Sichtbarkeit in MRQ (optional)
Jeder Anforderungseintrag hat ein Augensymbol.
| Auge | Behavior |
|---|---|
| Visible (Sichtbar) | Die Anforderung wird in der MRQ Submit UI angezeigt |
| Hidden | Die 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
Öffnen Sie das entsprechende
DeadlineCloudRenderStepAsset.Suchen Sie das Feld Host-Anforderungen.
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