Da die Größe und Komplexität von Echtzeit-3D-Produktionen immer weiter zunimmt und die Anzahl der Werkzeuge, aus denen eine moderne Pipeline besteht, weiter wächst, wird es immer wichtiger, intelligente Automatisierung zu integrieren, um die Effizienz der Künstler zu steigern. Diese intelligente Automatisierung stützt sich in der Regel stark auf Metadaten: benutzerdefinierte Eigenschaften Ihrer Assets, die ihnen in Ihrem Projekt eine Bedeutung geben.
Ein Künstler oder Creator fügt Metadaten-Eigenschaften in einer Anwendung hinzu, normalerweise dort, wo das Asset zuerst erstellt wird. Die Metadaten bleiben dann diesem Asset zugehörig, und Anwendungen weiter unten in der Pipeline können diese Metadaten auslesen und sie nutzen, um Entscheidungen darüber zu treffen, wie dieses Asset verarbeitet oder gehandhabt werden soll.
Im Unreal Editor können Sie mithilfe von Blueprints oder Python-Skripts Metadatenschlüssel und -werte für Ihre Assets festlegen und abrufen, wie auf der Seite [Asset-Metadaten] (understanding-the-basics/assets-content-packs/asset-metadata) erläutert. Dies kann Ihnen bei allen Asset-Management-Operationen helfen, die Sie ausschließlich im Kontext Ihres Unreal-Projekts durchführen.
Der eigentliche Wert von Metadaten zu Assets liegt jedoch in der Regel in der Interoperabilität mit externen Anwendungen und in der Fähigkeit, größere Pipelines für das Asset-Management zu erstellen, die mehrere Anwendungen umfassen. Zu diesem Zweck importiert der Unreal FBX Importer bestimmte Arten von Asset-Metadaten aus FBX-Dateien und stellt diese Metadaten im Unreal Editor zur Verfügung.
Da den Assets die Metadaten im Projekt zugewiesen werden, können Sie im Laufzeit-Gameplay-Code nicht direkt darauf zugreifen. Sie sind hauptsächlich für den Einsatz im Unreal Editor für geskriptete Asset-Management-Operationen gedacht.
Metadaten-Quellen
Wenn Sie eine FBX-Datei in Unreal importieren, liest der Importer alle FbxProperty-Werte, die an die Objekte in dieser Datei angekoppelt sind, und koppelt sie an die Unreal Assets, die er als Dictionary oder Map von Tag-Wert-Paaren erstellt.
Die folgenden Anwendungen unterstützen bekanntermaßen den Export von benutzerdefinierten Metadaten in FBX-Dateien durch dieses FbxProperty-System.
Autodesk Maya
Um Metadaten für ein Asset in Maya zu erstellen, müssen Sie dem Objekt zusätzliche benutzerdefinierte Attribute hinzufügen. Weitere Details dazu finden Sie in der Maya - Hilfe.
Ihre benutzerdefinierten Attribute sollten im Attribute Editor von Maya in der Liste Extra Attributes angezeigt werden. Zum Beispiel hat dieses Objekt zwei benutzerdefinierte Attribute, die für es erstellt wurden: eine String-Eigenschaft und eine numerische Eigenschaft:
Autodesk 3ds Max
Um Metadaten für ein Asset in 3ds Max zu erstellen, fügen Sie es zum Tab User Defined des Dialogs Object Propertieshinzu:
Aktuell werden Metadaten aus 3ds Max als ein einziger String importiert, der den vollständigen Inhalt des User Defined- Texts enthält, auf den Sie über das Metadaten-Tag "FBX.UDP3DSMAX" zugreifen können. Sie müssen diesen String-Wert wahrscheinlich selbst aufteilen, wenn Sie ihn in Ihrem Python- oder Blueprint-Script im Unreal Editor auslesen.
Metadata nach dem Import
Sie müssen einige Dinge darüber wissen, wie Ihre Asset-Metadaten in Unreal aussehen.
- Alle Metadaten-Schlüssel und -Werte werden als Strings in der Unreal Engine gespeichert, unabhängig von ihrem ursprünglichen Typ, wenn sie in einer externen Anwendung festgelegt werden. Wenn Sie zum Beispiel in Maya einen Metadaten-Wert wie
22als Zahl festlegen, wird dies ein String sein, der den Wert „22“ enthält, wenn Sie ihn in einem Script in Unreal wieder einlesen. Sollen die Werte Zahlen sein, verwenden Sie einen Blueprint-Konvertierungsknoten wie Utilities > String > String to Int oder String to Float, oder eine eingebaut String-Parsing-Funktion in Python wieint()oder „Ffloat(). - Wenn Sie in Ihrer Anwendung Tag-Namen mit Leerzeichen erstellen, werden diese von FBX entfernt.
- Tag-Namen haben normalerweise ein Präfix, das die Quelle des Werts angibt. Für über FBX importierte Assets ist dieses Präfix FBX.. Andere Anwendungen oder Plugins können andere Präfixe verwenden. Zum Beispiel verwendet die Unreal Shotgun-Integration das Präfix SG..
- Wenn Sie mit Skelett-Meshs arbeiten, können Sie möglicherweise jedem einzelnen Bone im Skelett unterschiedliche Metadaten zuweisen. In diesem Fall weist der FBX-Importvorgang dem Skelett-Mesh-Asset weiterhin alle Metadaten zu, aber er nimmt die Bone-Namen in die Präfixe der Metadaten-Tag-Namen auf, damit Sie die Werte unterscheiden können, die für jeden einzelnen Bone gelten. Zum Beispiel können Sie auf einem Skelett-Mesh Tags sehen wie FBX.Right_Arm.tag_name und FBX.Right_Hand.tag_name.
So ist zum Beispiel ein Tag, das Sie in Maya mit dem Namen Created By erstellen, in Unreal als FBX.CreatedBy verfügbar.
Mehr Informationen zur Verwendung dieser importierten Metadaten im Unreal Editor finden Sie unter Asset-Metadaten.