À mesure que la taille et la complexité des productions 3D en temps réel augmentent et que le nombre d'outils composant un pipeline de production moderne continue de croître, l'ajout d'une automatisation intelligente pour améliorer l'efficacité des artistes devient de plus en plus crucial. Cette automatisation intelligente s'appuie généralement fortement sur les métadonnées : des propriétés personnalisées sur vos ressources qui leur donnent un sens au sein de votre projet.
Un artiste ou un créateur ajoute des propriétés de métadonnées dans une application, généralement là où la ressource est créée pour la première fois. Les métadonnées restent ensuite associées à cette ressource, et les applications situées plus loin dans le pipeline peuvent lire ces métadonnées et les utiliser pour décider de la manière de traiter ou de gérer cette ressource.
Dans Unreal Editor, vous pouvez définir et récupérer des clés et des valeurs de métadonnées pour vos ressources à l'aide de blueprints ou de scripts Python, comme cela est expliqué sur la page Métadonnées de ressource. Cela peut vous être utile lors des opérations de gestion des ressources que vous effectuez uniquement dans le cadre de votre projet Unreal.
Cependant, la véritable valeur des métadonnées sur les ressources réside généralement dans l'interopérabilité avec des applications externes et dans la capacité à créer des pipelines de gestion des ressources plus vastes qui s'étendent sur plusieurs applications. À cette fin, l'importateur de fichiers FBX d'Unreal (Unreal FBX Importer) importe certains types de métadonnées de ressources à partir de fichiers FBX et rend ces métadonnées disponibles dans Unreal Editor.
Ces métadonnées étant assignées aux ressources de votre projet, vous ne pouvez pas y accéder directement dans votre code de jeu en cours d'exécution. Elles sont principalement destinées à être utilisées dans Unreal Editor, pour la création de scripts pour les opérations de gestion des ressources.
Sources de métadonnées
Lorsque vous importez un fichier FBX dans Unreal, l'importateur lit toutes les valeurs FbxProperty
jointes aux objets de ce fichier et les joint aux ressources Unreal qu'il crée sous la forme d'un dictionnaire ou d'un mappage de paires balise-valeur.
Les applications suivantes sont connues pour prendre en charge l'exportation de métadonnées personnalisées définies par l'utilisateur vers des fichiers FBX via ce système FbxProperty
.
Autodesk Maya
Pour créer des métadonnées pour une ressource dans Maya, ajoutez des attributs personnalisés supplémentaires à l'objet. Pour plus d'informations sur la façon de procéder, consultez l'Aide de Maya.
Vos attributs personnalisés doivent apparaître dans l'éditeur d'attributs (Attribute Editor) de Maya, dans la liste Extra Attributes (Attributs supplémentaires) de l'objet. Par exemple, cet objet possède deux attributs personnalisés créés pour lui : une propriété de chaîne et une propriété numérique :

Autodesk 3ds Max
Pour créer des métadonnées pour une ressource dans 3ds Max, ajoutez-les à l'onglet User Defined (Définies par l'utilisateur) de la boîte de dialogue Object Properties (Propriétés de l'objet) :

Actuellement, les métadonnées de 3ds Max sont importées sous la forme d'une chaîne unique contenant l'ensemble du contenu de la zone de texte User Defined, à laquelle vous pouvez accéder dans la balise de métadonnées FBX.UDP3DSMAX
. Vous devrez probablement diviser vous-même cette valeur de chaîne lorsque vous la lirez dans votre script Python ou de blueprint Unreal Editor.

Métadonnées après l'importation
Il y a plusieurs choses que vous devez savoir sur la façon dont vos métadonnées de ressources apparaissent dans Unreal.
- Toutes les clés et valeurs de métadonnées sont stockées sous forme de chaînes dans Unreal Engine, peu importe leur type d'origine, lorsqu'elles sont définies dans une application externe. Par exemple, si vous définissez
22
comme valeur de métadonnées dans Maya, la chaîne contiendra la valeur "22" lorsque vous la relirez dans un script dans Unreal. Si vous avez besoin de valeurs numériques, utilisez un nœud de conversion de blueprint comme Utilities > String > String to Int (Utilitaires > Chaîne > Chaîne en Int) ou String to Float (Chaîne en Float**), ou une fonction d'analyse de chaîne Python intégrée commeint()
oufloat()
. - Si vous créez des noms de balises avec des espaces dans votre application source, les espaces seront supprimés par FBX.
- En général, les noms de balises comportent un préfixe qui indique la source de la valeur. Pour les ressources importées via FBX, il s'agit du préfixe FBX.. D'autres applications ou plug-ins peuvent utiliser d'autres préfixes. Par exemple, l'intégration d'Unreal Shotgun utilise le préfixe SG..
- Lorsque vous travaillez avec des maillages squelettiques, vous pouvez assigner différentes valeurs de métadonnées à chaque os distinct du squelette. Dans ce cas, le processus d'importation FBX assigne toujours toutes les valeurs de métadonnées à la ressource de maillage squelettique, mais il inclut les noms des os dans les préfixes des noms des balises de métadonnées afin que vous puissiez distinguer les valeurs qui s'appliquent à chaque os individuel. Par exemple, sur un maillage squelettique, vous pouvez voir des balises similaires à FBX.Right_Arm.tag_name et FBX.Right_Hand.tag_name.
Ainsi, par exemple, une balise que vous créez dans Maya avec le nom Created by est disponible dans Unreal sous le nom FBX.CreatedBy.
Pour plus d'informations sur l'utilisation de ces métadonnées importées dans Unreal Editor, consultez Métadonnées de ressources.