À medida que o tamanho e a complexidade das produções 3D em tempo real aumentam e o número de ferramentas que compõem um pipeline de produção avançado continua crescendo, torna-se cada vez mais crítico adicionar a automação inteligente para aumentar a eficiência do artista. Geralmente, essa automação inteligente depende muito de metadados, que são propriedades personalizadas definidas sobre os ativos que dão significado a eles no projeto.
Um artista ou criador adiciona propriedades de metadados em um aplicativo, geralmente onde o ativo é criado pela primeira vez. Os metadados permanecem associados a esse ativo, e os aplicativos que estão mais adiante no pipeline poderão ler os metadados e usá-los para tomar decisões sobre como processar ou gerenciar o ativo.
No Unreal Editor, você pode definir e recuperar valores e chaves de metadados para seus ativos usando Blueprints ou códigos Python, conforme explicado na página Metadados de ativo. Isso pode ajudar em operações de gerenciamento de ativos que você realizar apenas no contexto do seu projeto Unreal.
No entanto, o valor real de ter metadados nos ativos geralmente está na interoperabilidade com aplicativos externos e na capacidade de criar pipelines maiores de gerenciamento de ativos que abrangem vários aplicativos. Para isso, o Unreal FBX Importer traz certos tipos de metadados de ativos de arquivos FBX e disponibiliza esses metadados dentro do Unreal Editor.
Como esses metadados são atribuídos aos ativos no projeto, você não pode acessá-los diretamente no código de jogabilidade em tempo de execução . Ele foi projetado principalmente para uso no Unreal Editor, para operações de gerenciamento de ativos de script.
Fontes de metadados
Quando você importar um arquivo FBX para a Unreal, o importador lê os valores "FbxProperty" anexados aos objetos nesse arquivo e os anexa aos ativos da Unreal criados como um dicionário ou mapa de pares de valores de tags.
Os aplicativos a seguir são compatíveis com a exportação de metadados personalizados definidos pelo usuário para arquivos FBX por do sistema "FbxProperty".
Autodesk Maya
Para criar metadados para um ativo no Maya, adicione outros atributos personalizados ao objeto. Para obter detalhes sobre como fazer isso, consulte a Ajuda do Maya .
Os atributos personalizados devem aparecer no Attribute Editor do Maya, na lista Extra Attributes do objeto. Por exemplo, este objeto tem dois atributos personalizados criados para ele: uma propriedade de string e uma propriedade numérica.
Autodesk 3ds Max
Para criar metadados para um ativo no 3ds Max, adicione-o à aba User Defined da caixa de diálogo Object Properties:
No momento, os metadados do 3ds Max são importados como uma única string com o conteúdo completo da caixa de texto User Defined, que pode ser acessada na tag de metadados "FBX.UDP3DSMAX". Você provavelmente precisará dividir esse valor de string por conta própria ao lê-lo no código do Unreal Editor no Python ou script de Blueprint.
Metadados após a importação
Há algumas coisas que você precisa saber sobre como os metadados do seu ativo aparecem na Unreal.
- Todas as chaves e valores de metadados são armazenados como strings na Unreal Engine, independentemente do tipo original quando foram definidos em um aplicativo externo. Por exemplo, se você definir um valor de metadado no Maya para um número como "22", essa string terá o valor "22" quando for lida em um código na Unreal. Se você precisar que os valores sejam números, use um nó de conversão de Blueprint , como Utilities > String > String to Int ou String to Float, ou uma função integrada do Python, como "int()" ou "Float()".
- Se você criar nomes de tags com espaços no aplicativo de origem, os espaços serão removidos pelo FBX.
- Normalmente, os nomes das tags têm um prefixo que indica a origem do valor. Para ativos importados por meio de FBX, esse prefixo é FBX.. Outros aplicativos ou plugins podem usar outros prefixos. Por exemplo, a integração da Unreal Shotgun usa o prefixo SG..
- Ao trabalhar com malhas esqueléticas, talvez você consiga atribuir valores de metadados diferentes a cada osso separado do esqueleto. Neste caso, o processo de importação de FBX ainda atribui todos os valores de metadados ao ativo de malha esquelética, mas inclui os nomes dos ossos nos prefixos dos nomes das tags de metadados. Assim, você pode distinguir os valores que se aplicam a cada osso individual. Por exemplo, em uma malha esquelética, você pode ver tags semelhantes a FBX.Right_Arm.tag_name e FBX.Right_Hand.tag_name.
Por exemplo, uma tag criada no Maya com o nome Created By está disponível na Unreal como FBX.CreatedBy.
Para obter mais informações sobre como usar esses metadados importados no Unreal Editor, consulte Metadados de ativo.