PYTHON

Registrieren eines Python-Asset Builder

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.

Registrieren eines Python-Asset Builder

Open 3D Engine (O3DE), der Nachfolger von Lumberyard, ist jetzt in Developer Preview verfügbar. herunterladen O3DE oder besuchen Sie die AWS Game Tech Blog , um weitere Informationen zu erhalten.

Ein Python Asset Builder-Skript muss ein Dateimuster und eine eindeutige Builder-ID für den Asset Builder registrieren. Um den Asset Builder zu beschreiben, verwenden Sie azlmbr.asset.builder.AssetBuilderDesc aus. Um das Skript an den Asset-Building-Prozess zu binden, verwenden Sie azlmbr.asset.builder.PythonAssetBuilderRequestBus aus. Sie können den Asset Builder anhand eines Dateierweiterungsmusters wie oder durch ein Ordner- und Datei-Muster für reguläre Ausdrücke wie ^[a-zA-Z]:\MyAssets[\S|*S]?.*$) aus.

Wenn der Python Asset Builder erfolgreich registriert wurde, wird ein Handler für die Builder-ID verwendet, um Asset Builder-Ereignisse zu behandeln, um Jobs zu erstellen und Jobs zu verarbeiten. Das Skript erstellt ein azlmbr.asset.builder.PythonBuilderNotificationBusHandler im Modul, um die Callback-Handler hinzuzufügen.

PythonAssetBuilderRequestBus

Der PythonAssetBuilderRequestBus ist ein Singleton-EBus, der Methoden zur Aktivierung von Python-Asset-Buildern dient.

azlmbr.asset.builder.pythonAssetBuilderRequestBus

# Registers an asset builder using a builder descriptor. # input: azlmbr.asset.builder.AssetBuilderDesc # output: Outcome_bool 'RegisterAssetBuilder' # Fetches the current executable folder. # input: N/A # output: Outcome_string 'GetExecutableFolder'

AssetBuilderPattern

Das AssetBuilderPattern ist eine Struktur, die den Typ des Musters definiert, das verwendet werden soll, um nach Quell-Asset-Dateien zu suchen.

azlmbr.asset.builder.assetBuilderPattern

class azlmbr.asset.builder.AssetBuilderPattern - type (azlmbr.asset.builder.AssetBuilderPattern Type) How to use the pattern to watch source assets - pattern (str) The file path pattern to use

AssetBuilderPattern-Typ

Der Mustertyp kann eines derPlatzhalteroderRegExaus. Dies informiert die Asset Builder-Registrierung über die Verwendung desMusterfield.

# The pattern is a file wildcard pattern (glob). azlmbr.asset.builder.AssetBuilderPattern_Wildcard # The pattern is a regular expression pattern. azlmbr.asset.builder.AssetBuilderPattern_Regex

AssetBuilderDesc

AssetBuilderDesc beschreibt den Asset Builder fürAuftragsverarbeiterdamit es Callbacks für dieErstellen von AufträgenEreignis undProzess JobEreignisse für die Muster, die Sie beim Quell-Asset-Überwachungssystem registrieren.

DieNamefield ist ein menschlich lesbarer Name, der verwendet wird, um zu verfolgen, wie das Produkt verarbeitet wurde.

DieAusführungsollte inkrementiert werden, wenn alle Quell-Assets für diesen Builder erneut verarbeitet werden sollen, z. B. wenn der Inhalt des Produkteils neu definiert wird.

Die busId sollte ein Format wie haben , das einmal über Python oder andere Methoden erstellt werden kann. Sie können das GUID-Tool von Visual Studio verwenden oder eines mit Python 3 erstellen:

Erstellen Sie eine UUID mit Python 3

> python >>> import uuid >>> uuid.uuid4() UUID('639f403e-1b7e-4cfe-a250-90e6767247cb')

azlmbr.asset.builder.AssetBuilderDesc

class azlmbr.asset.builder.AssetBuilderDesc - busId The builder unique ID - name (str) The name of the Builder - patterns (list of AssetBuilderPattern) The collection of file patterns that the builder will use to determine if a file will be processed by that builder - version (number) Changing this version number will cause all your assets to be re-submitted to the builder for job creation and rebuilding

PythonBuilderNotificationBusHandler

Der Benachrichtigungsbus-Handler wird von Python Asset Builder verwendet, um das Python-Skript zurückzurufen, um Asset-Building-Ereignisse wieErstellen von AufträgenundProzess Jobum Quell-Asset-Dateien zu verarbeiten. Der Handler muss im globalen Modulbereich erstellt werden, damit die Callbacks aktiv bleiben können.

azlmbr.asset.builder.pythonBuilderNotificationBusHandler

# Callback function type for creating jobs from job requests. # input: tuple(azlmbr.asset.builder.CreateJobsRequest) # output: azlmbr.asset.builder.CreateJobsResponse 'OnCreateJobsRequest' # Callback function type for processing jobs from process job requests. # input: azlmbr.asset.builder.ProcessJobRequest # output: azlmbr.asset.builder.ProcessJobResponse 'OnProcessJobRequest'

Beispiel: Registrieren eines Asset Builders

In diesem Beispiel-Code wird gezeigt, wie ein Asset Builder registriert wird. Die on_create_jobs und on_process_job Funktionen sind ausgestopft. Weitere Informationen zum Erstellen und Verarbeiten von Jobs finden Sie in den nachfolgenden Themen.

Andreas Müller

LEAVE A REVIEW