随着实时3D制作大小和复杂程度的增加,以及构成现代制作流程的工具数量的不断增加,增加智能自动化来提高美术效率变得越发重要;这种智能自动化通常主要依靠元数据:有关资源的自定义数据,在项目中为资源赋予意义;
美术或创作者将元数据属性添加到一个应用程序中,通常在创建资源的时候进行添加;然后,这些元数据将一直与该资源保持关联,流程下游的应用程序可以读取该元数据,并用来做出有关如何处理该资源的决策;
在虚幻编辑器中,可以使用蓝图或Python脚本来设置和检索资源的元数据键和值;
为资源设置元数据的真正意义通常是与外部应用程序建立互操作性,并且能够创建横跨多个应用程序的更大规模的资源管理流程;为此,虚幻FBX导入器从FBX文件引入了特定类别的资源元数据,并使这些元数据可以在虚幻编辑器内部使用;
由于该元数据是指定给项目中的资源,因此不能在运行时游戏代码中访问该元数据;它主要是为了在虚幻编辑器中借助脚本来完成资源管理操作;
当将FBX文件导入虚幻中时,导入器将读取该文件中与对象关联的任何FbxProperty
值,然后它们作为字典或"标记-值"对映射连接到其所创建的虚幻资源;
- Autodesk Maya, 要在Maya中为资源创建元数据,请向对象添加额外自定义属性;
-
Autodesk 3ds Max, 将其添加到 Object Properties 对话框的 User Defined 选项卡;
资源元数据在虚幻中的显示方式:
- 所有元数据键和值以字符串类型存储在引擎中,无论其在外部应用程序中设置的原始类型为何;
- 如果在来源应用程序中创建包含空格的标记名称,则空格将被FBX移除;
- 通常,标记名称都有一个用于指示值来源的前缀;对于通过FBX导入的资源,这个前缀是 FBX. ;其他应用程序或插件可能会使用其他前缀。
- 如,虚幻Shotgun集成使用前缀 SG. ;
- 在使用骨架网格体时,或许可以将不同的元数据值指定给骨架中的每个单独骨骼;在这种情况下,FBX导入流程还会将所有元数据值指定给骨架网格体资源(Skeletal Mesh Asset),但它包含元数据标签名的前缀中的骨骼名称,以便分辨应用给每个单独骨骼的值;
- 如,可以在一个骨架网格体上看到似 FBX.Right_Arm.tag_name 和 FBX.Right_Hand.tag_name 之类的标签;