导入FBX数据
表面
Patchwork 3D FBX导入器仅支持FBX网格表面。如果FBX表面包含具有四个以上顶点的四边形或多边形,则会进行三角化。
如果FBX文件包含NURBS或Patch节点,导入器将执行预处理步骤,以便使用FBX SDK对这些几何进行三角测量。在这个预处理步骤后,这些曲面将被导入为Shaper网格表面。FBX导入器不会尝试自动缝合曲面。
如果表面包含多种材质,则会将其分成多个子表面。每个子表面对应原始表面对一种材料的限制。在这种情况下,将创建一个空表面作为子表面的父级。
点缓存
如果引用在FBX文件中包含顶点位移信息的点缓存文件,则同时导入网格的动画与表面。
点缓存文件在FBX导出期间从Autodesk Maya或Autodesk 3ds Max导出。此插件包含在Autodesk Maya 2017和Autodesk 3ds Max 2017中。必须选择几何缓存文件选项(Autodesk Maya)或点缓存文件选项(Autodesk 3ds Max)。
MC(XML)格式是首选。支持pc2或MC(XML)格式的点缓存文件。
示例:从AUTODESK 3DS MAX 2017导出
用网格动画创建一个对象。
菜单选项编辑 > 管理选择集。打开指定的选择集管理窗口。
选择带有网格动画的对象,然后创建一个新的选择集。这个新的集合包含动画网格。
从主菜单中选择 > 导出 > 导出。选择FBX导出并确认。您将需要提供文件名和位置保存导出。
将打开选项对话。展开动画部分。选中动画选项旁边的框。
展开缓存点文件部分。选中Cache 点文件(s)选项旁边的复选框。在下拉列表中,选择为动画网格创建的选择集。
验证。该操作将创建一个包含顶点位移信息的FBX文件。它还创建一个具有相同名称和_FPC后缀的文件夹,其中包含一个MC文件和一个XML文件。这些是点缓存。
可根据意愿修改要创建的点缓存文件的类型
用网格动画创建一个对象。
在边栏中,选择修改组。
选择网格。
通过从修改器列表中选择点缓存添加修改器。
在参数区域中,单击新建。您可以在此选择文件格式:XML(默认格式)或PC2。验证选择。
当按照上述方式导出带有点缓存文件的FBX文件时,所选点缓存格式将得到遵守。
有关创建动画网格及其属性的更多信息,请参考几何缓存部分下的Autodesk Maya文档或修改器,点缓存修改器(对象空间)或点缓存文件部分下的Autodesk 3dsMax文档。
表面参数化
Patchwork 3D FBX导入器支持导入FBX UV集,该FBX UV集自动复制到Patchwork 3D曲面的uvw:0,uvw:1 ...字段中。对于每个这些UV集合,表面映射类型都设置为Extract。
材质
Patchwork 3D FBX导入器还可以导入网格表面上使用的一些材质。导入的材质分配给导入的表面。
可以导入Lambert和Phong材质。导入的属性如下:
漫射颜色
环境色
不透明调制器
反射因子(用于Phong材料)
镜面颜色和因子(用于Phong材料)
下图显示导入使用Maya软件创建的FBX文件时的预期行为(注意:两个屏幕截图之间的光照不同)。
纹理
如果在Lambert或Phong材质的漫反射,凹凸或镜面层上找到纹理文件,则只要FBX导入器能够检索到该纹理文件即可导入。只能导入每个图层上的第一个纹理文件。如果在FBX材质的给定图层上找到多个纹理文件,则从第二个开始的所有文件都将被忽略。在这种情况下,会在日志文件中插入警告。
Patchwork 3D FBX导入器按以下方式查找纹理文件:首先它会尝试使用FBX文件中的绝对文件名检索文件,然后使用FBX导出模块生成的相对文件名。最后,试图仅使用纹理文件名来检索FBX文件目录中的文件。
纹理被分配到材质的相应图层,并且在Matter的纹理选项卡中可见。
相机动画路径
Patchwork 3D FBX导入器按如下方式导入相机路径:由Patchwork 3D Kam文件写入的关键帧作为元组(from, to, up, fov)导入。因此,在导出FBX文件时,以期望的帧速率烘焙动画是必要的,因为中间位置不能从Kam文件重建。
FBX导入器为每个相机创建一个Kam文件。Kam文件的名称构建如下:"fbx_文件_name > FBX导入–相机_name>"。
动画
用FBX格式保存的场景图的转换被导入为包含频道动画的时间轴。每个频道动画对应FBX场景图中节点的动画,并放置在时间轴中的正确时间。
作为通道动画,这些元素出现在时间线编辑器的“通道动画”库中,并且可以在其他时间线中重复使用。FBX导入器创建的通道动画不可编辑。
FBX导入器创建以下元素:
带有导入的FBX文件名称的时间轴。该时间轴与导入的动画网格共享。
每个节点动画频道动画,每个动画都有相应节点的名称。
其他FBX节点
任何其他FBX节点都将导入为空表面。Patchwork 3D中的空表面名称是在FBX文件中读取的节点名称。
可见性层次结构
FBX导入器首先创建一个包含时间戳和用于存储导入过程中生成的临时文件的目录路径的图层。然后,使用文件名称作为图层名称为每个导入的文件创建一个图层。
对于每个文件,FBX导入器都会构建与FBX文件节点层次结构相对应的层次结构。
运动层次
FBX导入器还构建了遵循FBX节点层次结构的运动层次结构。