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 fotorealistische Bilder 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 Renderaufgaben auf mehrere Computer verteilt werden.

Überblick über den Support

Unreal Engine wird von den folgenden Komponenten unterstützt:

  • Submitter: Integriertes Submitter-Plugin für die direkte Einreichung von Jobs über Unreal Engine mit automatischer Szenen- und Objekterkennung.

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

  • Adaptor: Middleware für effizientes Rendern mit Sticky-Sessions und zusätzlicher Überwachung.

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

  • Movie Render Queue-Integration: Support für das Movie Render Queue-System von Unreal.

Versionskompatibilität der Unreal Engine

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

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

Frist 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 unwirklicher Motor 5.5
Windows unreale Engine 5.6
Windows unreale Engine 5,7
Windows Unreal-Engine-OpenJD

Erste Schritte

Voraussetzungen

Stellen Sie vor der Installation von Unreal Engine Submitter sicher, dass Sie über Folgendes verfügen:

  • Windows-Workstation (Windows 10 oder höher)

  • Unterstützte Version von Unreal Engine ist installiert

  • Deadline Cloud Monitor installiert (hier 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 Lizenzierung

Installation des Absenders

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 Branche

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

VerzweigungStabilitätAnwendungsfallEmpfohlen für
VeröffentlichungStabilProduktionDie meisten Nutzer
HauptleitungDie neuesten FunktionenEntwicklung und ErprobungFortgeschrittene Nutzer
Tipp

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

Eine neue Windows Amazon EC2 EC2-Instance erstellen, auf der Unreal installiert werden soll (optional)

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

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

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

    • 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 Installationsanweisungen von Windows.

Lange Windows-Pfade

Bei vielen der folgenden Schritte können Dateien erstellt werden, 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

Es gibt auch ein offenes Problem auf dem Worker-Agent, das durch eine Abhängigkeit verursacht wird, die 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 Windows Long Paths 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. Überprüfen Sie anhand der Epic-Kompatibilitätstabelle, ob Ihre Version von Visual Studio und Build Tools mit Ihrer Version von Unreal kompatibel ist.

  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 in den Kompatibilitätsrichtlinien möglicherweise eine Version „oder höher“ vorgeschlagen wird, 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 überprüft).

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

Deadline Cloud Monitor installieren

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.

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 eingestellt 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 Scripts-Ordner (z. B.C:\Program Files\Python312\scripts).

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

Deadline — Installation der Cloud-Software

Klonen oder laden Sie es entweder deadline-cloud-for-unreal-engine vom Release-Branch oder von der Mainline herunter, je nachdem, ob Sie die zuletzt getestete Version oder alle aktuellen Commits verwenden möchten.

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 Orten. Sie können Einstellungen wie die Unreal-Version überschreiben. Um die vollständige Hilfeliste zu sehen, führe folgenden Befehl aus:

python scripts/build_plugin.py -h

Um deine aktuelle Version von deadline-cloud-for-unreal-engine as a submitter mit der neuesten Unreal Engine-Installation zu erstellen und zu installieren, führe folgenden Befehl aus:

python scripts/build_plugin.py --install

Wenn Sie die Installation mit diesem Skript erfolgreich durchgeführt 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 (z. B.). 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 zu deiner 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 können Sie in Ihrer .uplugin Datei (in den obigen Schritten würde sich das C:\Program Files\Epic Games\UE_5.5\Engine\Plugins\UnrealDeadlineCloudService\UnrealDeadlineCloudService.uplugin befinden) 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 abrufen, 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 erledigt werden kann. 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 Installationsprogramm des Absenders installiert werden. Diese sind möglicherweise mit Ihrem obigen Code aus dem Release- oder Mainline-Zweig veraltet, und diese Methode sollte derzeit nicht bevorzugt werden.

  1. Laden Sie das Installationsprogramm für den Absender von der Deadline Cloud AWS-Konsole auf der Registerkarte Downloads oder im 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 Speicherort übereinstimmt, in den Ihr Plugin kopiert wurde (stellen Sie insbesondere sicher, dass Ihre Unreal-Version übereinstimmt).

Benachrichtigungen aktualisieren

Das Submitter-Plugin sucht GitHub beim Start des Unreal Editors automatisch nach neueren Versionen. Wenn ein Update verfügbar ist, werden Sie in einem Dialogfeld aufgefordert, die Release-Seite zu besuchen.

Um Aktualisierungsbenachrichtigungen zu deaktivieren, deaktivieren Sie unter Allgemeine Einstellungen in den Deadline Cloud-Einstellungen (Bearbeiten > Projekteinstellungen > Plugins > Deadline Cloud) die Option Aktualisierungsbenachrichtigungen für Einreicher anzeigen.

Alternativ können Sie die CLI verwenden:

deadline config set settings.submitter_update_notification false

Um es wieder 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 direkt zuEin Test-Rendering einreichen.

Erstellen einer Service-Managed-Flotte (SMF)

Folgen Sie der Benutzeranleitung für serviceverwaltete 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. Sie sind bereit, mit dem Rendern zu beginnen. Fahren Ein Test-Rendering einreichen Sie mit den folgenden Schritten fort, um einen Test-Render-Job einzureichen.

Aufbau einer kundenverwalteten Flotte (CMF)

  1. Folgen Sie Create a customer managed fleet (Kundenverwaltete Flotte erstellen), um eine CMF zu erstellen, falls Sie noch keine haben.

    Warnung

    Wenn Sie Ihr CMF Warteschlangen zuordnen, entfernen Sie die standardmäßige Conda-Warteschlangenumgebung, falls Sie sie nicht verwenden. Dadurch wird verhindert, dass die Conda-Umgebung verwendet wird und versehentlich die SMF-specific Standardvariablen für Jobs verwendet, die an Ihr CMF gesendet werden. Wenn Sie Conda in Ihrem CMF verwenden, denken Sie daran, die CondaChannels Variablen in den Überschreibungen der Parameterdefinitionen während der Jobübergabe zu aktualisierenCondaPackages.

  2. Folgen Sie den Anweisungen zum Einrichten und Konfigurieren des Worker-Hosts, um einen Worker-Host einzurichten.

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

  4. Folgen Sie Installation und Konfiguration der für Jobs erforderlichen Software, um die für die Ausführung von Jobs erforderliche Software zu installieren.

  5. Folgen SieEinrichtung eines vom Kunden verwalteten Flottenmitarbeiters (CMF), um Ihren Worker-Knoten 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 danach 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 aus. MoviePipelineDeadlineCloudRemoteExecutor

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

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

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

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

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

    • Gehen Sie im Abschnitt Konfiguration der Deadline Cloud Workstation wie folgt vor:

      • Stellen Sie unter Allgemeine 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 Standardwarteschlange 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, Movie Render Queue.

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

    • Wählen Sie UnsavedConfigin der Einstellungsspalte.

      • Im Popup-Fenster sollten Sie links die Deadline Cloud-Einstellungen sehen. Dieses Fenster kann dann geschlossen werden.

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

      • Gehen Sie unter Voreinstellungsüberschreibungen (möglicherweise müssen Sie diesen Dialog erweitern):

        • Erweitern Sie Job Shared Settings:

          • Legen Sie Name auf Unreal Test Job fest.

          • Stellen Sie „Maximale Anzahl Wiederholungen“ auf 2 ein.

        • Erweitern Sie die Jobanhä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 Jobvorlagen-Überschreibungen:

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

          • Die automatische Erkennung der Unreal Engine-Version wird in einer future 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 eines vom Kunden verwalteten Flottenmitarbeiters (CMF)

Dieser Abschnitt führt Sie durch die Einrichtung einer Amazon EC2 EC2-Instance als CMF-Worker für Deadline Cloud mit Unreal Engine.

-Ü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 passende Filiale für Ihre Bereitstellung aus:

VerzweigungStabilitätAnwendungsfall
veröffentlichenStabilBereitstellungen in der Produktion
HauptleitungNeuesteEntwicklung und Erprobung
Wichtig

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

Einrichtung einer Amazon EC2 EC2-Instanz

Die folgende Instance-Konfiguration wird 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 Deadline Cloud-Kompatibilität erforderlich.

2. Installieren Sie die NVIDIA GRID-Treiber:

Build-Tools werden installiert

Das Unreal-Plugin muss derzeit lokal kompiliert werden.

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

  2. Überprüfen Sie anhand der Epic-Kompatibilitätstabelle, ob Ihre Version von Visual Studio und Build Tools mit Ihrer Version von Unreal kompatibel ist.

  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 Individuelle Komponenten ein aktuelles .NET Framework-SDK aus (4.6.1 und 4.8.1 wurden überprüft).

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

Frist für die Installation der Cloud-Software

Klonen oder laden Sie es entweder deadline-cloud-for-unreal-engine von der Release-Filiale oder der Mainline herunter. Stellen Sie sicher, dass Ihre Worker-Version der Bibliotheken mit der Version kompatibel ist, die von Ihren Einsendern 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:

Es gibt ein Hilfsskriptscripts/build_plugin.py, das die restlichen 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 Orten zu installieren. Einstellungen wie die zu verwendende Unreal-Version können überschrieben werden. Um die vollständige Hilfeliste zu sehen, führe folgenden Befehl aus:

python scripts/build_plugin.py -h

Um deine aktuelle Version von deadline-cloud-for-unreal-engine as a Worker mit der neuesten Unreal Engine-Installation zu erstellen und zu installieren, führe folgenden Befehl aus:

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

Konfigurieren Sie den Deadline Cloud-Worker-Agent, 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 zu springenDer Deadline Cloud Worker Agent Service wird gestartet.

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

Je nachdem, welche Version des verwendeten Submitters verwendet wird, muss die richtige Version des Adapters installiert werden. Wenn Sie die Version des Absenders aus dem Release-Zweig in verwenden GitHub, können Sie die Installation einfach mit pip durchführen:

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

Wenn Sie die Mainline-Version oder eine benutzerdefinierte, noch in der Entwicklung befindliche Version des Submitters verwenden, empfehlen wir zur Vermeidung von Kompatibilitätsproblemen, dass Sie mit derselben Codeversion bauen 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 (z. B.). C:\Program Files\Epic Games\UE_5.5\Engine\Plugins\UnrealDeadlineCloudService

pywin32

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

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

Der Deadline Cloud Worker Agent Service wird gestartet

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 es nicht aufgeführt ist, haben Sie wahrscheinlich (install-deadline-workerinsbesondere) Schritte der CMF-Host-Setup-Schritte 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 von Anmeldedaten mit Perforce

In diesem Abschnitt wird die sichere Verwaltung von Anmeldedaten für die Integration von Perforce mit Deadline Cloud-Workern behandelt.

-Übersicht

Es gibt verschiedene Ansätze, Perforce-Anmeldeinformationen für Deadline Cloud-Worker zu konfigurieren. Jede Methode hat unterschiedliche Auswirkungen auf die Sicherheit und unterschiedliche Anwendungsfälle:

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

Verwenden Sie Secrets Manager für Produktionsumgebungen. Es bietet einen zentralen, verschlüsselten Speicher für Anmeldeinformationen mit Prüfprotokollen und funktioniert sowohl mit SMF- als auch mit CMF-Bereitstellungen.

Grundlagen der P4-Anmeldeinformationen

Beim 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 die folgende Konfiguration 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

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

  • 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 werden niemals in Auftragskonfigurationen oder Protokollen angezeigt.

  • Automatische Rotation: Support die Rotation von Anmeldeinformationen ohne Neukonfiguration des Jobs.

  • Prüfpfade: Verfolgen Sie den Zugriff und die Nutzung von Anmeldeinformationen.

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

  • Schwärzung von Protokollen: Verbindungsanmeldeinformationen werden automatisch in den Jobprotokollen geschwärzt.

Schritt 1: Erstellen Sie ein Geheimnis in Secrets Manager

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

Erforderliche Schlüssel-Wert-Paare:

  • P4PORT- Perforce-Server-URL und Port.

  • P4USER- Perforce-Benutzername.

  • P4PASSWD- Perforce-Passwort.

Wichtig

Die Schlüsselnamen müssen exakt mit den P4-Verbindungsparametern übereinstimmen, um mit ihnen arbeiten zu 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ählen Sie „Neues Geheimnis speichern“.

  3. Wählen Sie „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 dem Mitarbeiter Zugriff auf das Geheimnis

Arbeitnehmer benötigen eine secretsmanager:GetSecretValue Genehmigung, um auf das Geheimnis zugreifen zu können. Dies folgt demselben Muster wie die Verwaltung von Windows-Job-Benutzergeheimnissen.

Um Zugriff zu gewähren:

  1. Öffnen Sie die Secrets Manager 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 den ARN Ihrer tatsächlichen Warteschlangenrolle.

  4. Speichern Sie die Richtlinie.

Anmerkung

Speichern Sie den geheimen Namen. Sie benötigen ihn für die Konfiguration von P4-Renderjobs. 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 offenlegt. Verwenden Sie Secrets Manager für Produktionsumgebungen.

Sie können Verbindungsinformationen innerhalb der Jobumgebung übergeben, in der der Workspace erstellt wird, z. B. in p4_sync_smf_environment, ugs_sync_smf_environment oder ähnlichen Umgebungen für CMF. Alternativ können Sie eine neue Umgebungsvorlage erstellen und sie Ihrem Job voranstellen.

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 geschwärzt).

  • Keine zentrale Verwaltung von Anmeldeinformationen.

  • Es ist schwierig, Anmeldeinformationen zu wechseln.

Umgebungsvariablen in 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 unter deadline-cloud-samples.

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

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

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

  3. Wählen Sie die Registerkarte Warteschlangenumgebungen aus.

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

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

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

Fügen Sie eine Warteschlangenumgebung mit 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:

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

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

Dieser Ansatz ist nur für CMF-Bereitstellungen geeignet, bei denen Sie direkten Zugriff auf die 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 Sie keine geheimen Daten wie Benutzernamen und Passwörter weitergeben 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 die das Projektdepot zugegriffen werden kann.

Daher müssen Sie den Port, zu dem Sie eine Verbindung herstellen möchten, nur weitergeben, wenn die Standardeinstellung nicht für Worker konfiguriert ist. Dies kann erreicht werden, indem der Auftragsumgebung oder Warteschlangenumgebung, ähnlich den oben dokumentierten Schritten, Folgendes hinzugefügt wird:

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

Einen Perforce-Renderjob erstellen

In diesem Abschnitt erfahren Sie, wie Sie Perforce-integrated Renderjob-Datenbestände 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 ein Perforce-Repository einreichen:

Einrichtung des Unreal-Projekts:

  • Das Projekt muss sich im Perforce-Workspace befinden.

  • Stellen Sie sicher, dass die Perforce-Verbindung hergestellt wurde und Sie angemeldet sind.

Frist für die Einrichtung der Cloud:

Perforce-Anforderungen:

  • Gültiger Perforce-Workspace mit Projektdateien.

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

Architektur von Perforce-Renderjobs

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 Standardaufträgen:

  • 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 Synchronisation von Perforce-tracked Assets.

Perforce-Renderjob-Komponenten einrichten

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

1. Erstellen Sie das Datenobjekt „Perforce-Anmeldeinformationen 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 Logs mit dem openjd_env Präfix, aber sensible Daten (Port, Benutzer, Passwort) werden aus Sicherheitsgründen automatisch geschwärzt.

Schritte zur Konfiguration:

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

    Das Dialogfeld „Klasse für Daten-Asset-Instanz auswählen“ wurde nach „Frist“ gefiltert und Deadline Cloud Perforce-Umgebung 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:

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

    • Dieser sollte mit dem geheimen Namen übereinstimmen, der in erstellt wurde. Verwaltung von Anmeldedaten mit Perforce

    Wenden Sie die Eigenschaften der Perforce-Anmeldeinformationen für die Umgebung des Datenbestands an: Name P4ApplySecrets, Pfad zur Vorlage p4_apply_secrets_environment.yml und Einstellung der 4INFO-Variablen auf. 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 servicemanaged 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 Geheimnis aus Schritt 1 übereinstimmen.

    Eigenschaften von Umgebungsdaten mit Perforce synchronisieren: Name P4SyncSmf, Pfad zur Vorlage p4_sync_smf_environment.yml und Einstellung der 4INFO-Variablen auf. AWS_SECRET_P P4AccessSecretName

3. Perforce Launch UE-Umgebungsdatenbestand erstellen

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

Schritte zur Konfiguration:

  1. Erstellen Sie ein neues Datenobjekt für die Deadline Cloud Environment-Umgebung.

  2. Benennen Sie das Datenobjekt beschreibend (z. B. "P4LaunchUEEnv„).

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

  4. Umgebungseinstellungen konfigurieren:

    • Setzen Sie REMOTE_EXECUTION auf. True

    • Diese Einstellung aktiviert Remote-Rendering-Funktionen.

    Starten Sie Unreal Engine mit den Eigenschaften der Perforce-Umgebungsdaten: Name LaunchUnrealEditorWithP4, Pfad zur Vorlage p4_launch_ue_environment.yml und der Variablen REMOTE_EXECUTION, 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 Daten-Asset-Instanz auswählen“ wurde nach „Deadline Cloud“ gefiltert, wobei Deadline Cloud Render Step 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. Datenbestand für Perforce-Renderjobs erstellen

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

Schritte zur Konfiguration:

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

    Das Dialogfeld „Klasse für Daten-Asset-Instanz auswählen“ wurde auf „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 diese 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-WorkspaceJaLeer lassen — wird automatisch ausgefüllt
    PerforceChangelistNumberErzwingen Sie die Ä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 — verwende die Standardeinstellung für Standard-Setups
    FramesPerTaskAnzahl der pro Aufgabe zu rendernden FramesNeinOptional — verwenden Sie die Standardeinstellung (0), um Aufgaben nach Aufnahmen zu unterteilen
    ExtraCmdArgsZusätzliche Startargumente für UnrealNeinOptional — verwende die Standardeinstellung für Standard-Setups
    ExecutableUnwirklicher ausführbarer Name für den RenderknotenNeinKonfigurieren — Standardeinstellung für Standard-Setups verwenden
    CondaPackagesConda-Pakete, die zum Rendern des Jobs benötigt werdenNeinKonfigurieren — Standardeinstellung für Standard-Setups verwenden
    CondaChannelsConda-Kanäle, in denen Pakete gespeichert werdenNeinKonfigurieren — Standardeinstellung für Standard-Setups verwenden
    ChunkSizeAnzahl der in einer einzigen Rendersitzung gruppierten AufnahmenNeinKonfigurieren — Standardeinstellung: 1 (auf Leistung einstellen)
    MarketplacePluginsDirPfad zu den Engine Marketplace-PluginsJaLeer lassen — wird automatisch ausgefüllt

    Richtlinien für die Konfiguration von Parametern:

    • 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.

    • ChunkSize: Beginnen Sie mit 1 und erhöhen Sie die Zahl, um eine bessere Leistung bei einfachen Aufnahmen zu erzielen.

    Eigenschaften der Parameterdefinition für das Datenobjekt, die Liste,,,,,,,, ProjectRelativePath,, ProjectName,, PerforceChangelistNumber, PerforceWorkspaceSpecificationTemplate, Executable MrqJobDependenciesDescriptor ExtraCmdArgs, ExtraCmdArgsFile CondaPackages CondaChannels, und ChunkSize Felder im Perforce-Renderjob.
  5. Umgebungen konfigurieren (in genau dieser Reihenfolge):

    OrderUmgebungZweck
    1."ApplyP4SecretEnv"Perforce-Anmeldeinformationen von Secrets Manager anwenden
    Zweiter"P4SyncSMFEnv" oder "P4SyncCMFEnv“Synchronisieren Sie den Perforce-Workspace und die Dateien
    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 von entscheidender Bedeutung.

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

    Rendern Sie das Array Environments für Auftragsdaten, in dem ApplyP4SecretsEnv P4SyncSMFEnv, und P4LaunchUEEnv in der Reihenfolge angezeigt werden, wobei unter „Schritte“ die Einträge P4RenderStep hinzugefügt wurden.

Best Practices

Pre-submission Checkliste

  • Anmeldeinformationen: Perforce-Anmeldeinformationen wurden ordnungsgemäß konfiguriert (sieheVerwaltung von Anmeldedaten mit Perforce).

  • Workspace: Die Spezifikation umfasst alle erforderlichen View-Zuordnungen.

  • 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 verfügbar und zugänglich sind.

  • Berechtigungen: Bestätigen Sie, dass Mitarbeiterrollen Zugriff auf Secrets Manager haben.

Leistungsoptimierung

Konfiguration der Blockgröße:

Chunk-GrößeAnwendungsfallAuswirkung auf die Leistung
1-2 SchüsseKomplexe Aufnahmen, detaillierte Überprüfung erforderlichNiedrigerer Durchsatz, höhere Qualitätskontrolle
4-8 SchüsseAusgewogenes Arbeitspensum, typische ProjekteOptimales Gleichgewicht zwischen Geschwindigkeit und Verwaltbarkeit
Mehr als 10 SchüsseEinfache Aufnahmen, StapelverarbeitungMaximaler Durchsatz, minimaler Overhead

Ziehen Sie die folgenden zusätzlichen Optimierungen in Betracht:

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

  • Workspace-Ansichten: Optimieren Sie die Perforce-Workspace-Ansichten so, dass nur die benötigten Dateien synchronisiert werden.

Überwachung und Debugging

  • Jobprotokolle: Überwachen Sie den Perforce-Synchronisierungsprozess in den Jobausführungsprotokollen.

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

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

  • Leistungskennzahlen: Verfolgen Sie die Synchronisierungszeiten und die Renderleistung.

Fehlerbehebung

Häufige Probleme und Lösungen

ProblemSymptomeLösung
Fehler bei der P4-VerbindungAuthentifizierungsfehler, TimeoutÜberprüfen Sie die Perforce-Anmeldeinformationen; überprüfen Sie die Netzwerkkonnektivität; überprüfen Sie die Erreichbarkeit des Perforce-Servers
Fehler bei der Workspace-SynchronisierungSynchronisierungsfehler, Zugriff verweigertÜberprüfen Sie die Perforce-Benutzerberechtigungen, überprüfen Sie die Workspace-Spezifikation und stellen Sie sicher, dass die Änderungsliste existiert
Fehlende AbhängigkeitenRenderfehler, fehlende RessourcenÜberprüfungMrqJobDependenciesDescriptor; Überprüfung der Sammlung von Soft-References; Verifizierung aller Ressourcen in Perforce
Probleme mit der PfadauflösungFehler „Datei nicht gefunden“Überprüfen Sie die P4_CLIENT_DIRECTORY Variable; überprüfen Sie die Reihenfolge der Umgebung; validieren Sie die Workspace-Stammpfade

Schritte zum Debuggen

  1. Job-Logs überprüfen: Ausführliche Fehlermeldungen finden Sie in den Logs der Perforce-Sync-Umgebung.

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

  3. Lokal testen: Stellen Sie sicher, dass der Perforce-Betrieb vom Computer des Absenders aus funktioniert.

  4. Berechtigungen überprüfen: Stellen Sie sicher, dass Workerrollen über geheimen Zugriff verfügen (wenn Sie Secrets Manager verwenden).

Benutzerdefinierte Hostanforderungen

In diesem Abschnitt wird beschrieben, wie Sie benutzerdefinierte Hostanforderungen für das Deadline Cloud-Rendering in Unreal Engine erstellen und verwenden.

-Übersicht

Die Hostanforderungen definieren, welche Flotte für die Ausführung eines bestimmten Rendering-Schritts in Frage kommt. Sie werden in einem UDeadlineCloudHostRequirements Asset gespeichert, auf das dann von einem DeadlineCloudRenderStep Asset verwiesen wird.

Art der AnforderungSpeicherort der KonfigurationAnwendungsfall
GrundsystemanforderungenCPU-/RAM-/GPU-FelderBeschränken Sie das Rendern auf Maschinen mit bestimmter Hardware
Benutzerdefinierte MengenanforderungenName + min/max WerteNumerische Ressourcenebenen (Lizenzen, Token, Kontingente) erforderlich
Anforderungen an benutzerdefinierte AttributeAttribut + WertelisteFür die Ausführung des Schritts sind benutzerdefinierte Attribute für Flotten erforderlich
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 Mengenanforderungen und benutzerdefinierte Attributanforderungen verwendet werden, müssen genau mit den gültigen Kennungen übereinstimmen, die in der offiziellen Open Job Description Dokumentation: Open Job Specifications definiert sind.

Schritt 1: Erstellen Sie das Asset mit den Hostanforderungen

  1. Öffnen Sie den Inhaltsbrowser in Unreal Engine.

  2. Erstellen Sie ein neues Asset: HinzufügenVerschiedenesDatenobjektDeadlineCloudHostRequirements.

  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, Arbeitsspeicher, 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 (min.)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ätslimits).

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

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

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

    • Min.: 1.

    • Max: 0 (0 bedeutet unbegrenzt).

Schritt 5: Anforderungen für benutzerdefinierte Attribute hinzufügen

Wird verwendet, um Mitarbeiter anhand von Tags 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 Benutzeroberfläche von MRQ Submit angezeigt
HiddenDie Anforderung ist ausgeblendet, wird aber dennoch beim Absenden des Jobs berücksichtigt

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

Schritt 7: Ordnen Sie die Anforderungen einem Renderschritt zu

  1. Öffnen Sie das entsprechende DeadlineCloudRenderStep Asset.

  2. Suchen Sie das Feld Hostanforderungen.

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

Alle MRQ-Einreichungen, die diesen Schritt verwenden, setzen jetzt Ihre Hostauswahllogik durch.

Zusammenfassung

Mithilfe des Assets für Hostanforderungen können Sie:

  • Steuern Sie, welche Arbeitscomputer Ihre Renderjobs ausführen.

  • Geben Sie die Mindestressourcen an.

  • Richten Sie sich mithilfe des Attributabgleichs auf bestimmte Workerpools ab.

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

  • Verwenden Sie Einstellungen in mehreren MRQ-Schritten wieder.

Dieses Setup verbessert die Konsistenz der Auftragsweiterleitung und stellt sicher, dass das Rendern auf der richtigen Hardware erfolgt.

Erweiterte -Konfigurationen

Service-managed Flotten im Vergleich zu kundenverwalteten Flotten

Service-managed Flotten (SMF)

Auf vom Service verwalteten Flotten sind die Unreal Engine und der Adapter automatisch über den deadline-cloud Conda-Kanal mit der Standard-Warteschlangenumgebung verfügbar. Dieses Setup bietet die einfachste Benutzererfahrung.

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 eines vom Kunden verwalteten Flottenmitarbeiters (CMF).

Rendering-Funktionen von Unreal Engine

Das Rendering-System 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 Erkennung und Verarbeitung von Schüssen
Projekt-Plugins Unterstützung für benutzerdefinierte Plugins Automatische Erkennung und Aufnahme
Abhängigkeiten von Vermögenswerten Verwaltung von Inhaltsdateien Umfassende Nachverfolgung von Vermögenswerten
Klebriges Rendern Persistenz der Anwendung zwischen den Aufnahmen Verbesserte Leistung für Multi-Shot-Sequenzen

Alle Renderfunktionen werden automatisch vom integrierten Absender der Unreal Engine erkannt und konfiguriert. Der Adapter sorgt für die korrekte Handhabung von Abhängigkeiten und unterstützt effizientes Multi-Shot-Rendern, ohne dass Unreal Engine neu gestartet werden muss.

Open-Source-Ressourcen

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