Unity3D技术之从 Maya 中导入对象浅析
从Maya中导入对象
Unity支持直接导入Maya文件。操作时,只需将.mb或.ma文件放置到工程的资源(Assets)文件夹下。当切换回Unity时,场景会自动导入并显示在工程视图(Project view)中。
若要在Unity中查看模型,只需将其从工程视图(Project View)拖入场景视图(Scene View)或层级视图(Hierarchy View)即可。
Unity从Maya中可导入的内容
- 节点信息:带位置、旋转、缩放的所有节点,同时轴心和名称(Name)也会被导入。
- 网格数据:包含顶点颜色、法线以及两个以下UV集的网格。
- 材质信息:包含纹理及漫反射颜色的材质,且每个网格可以有多种材质。
- 动画数据:正向运动学(FK)和反向运动学(IK)动画,以及基于骨骼的动画。
注意事项
- Unity不能导入融合形状,建议使用基于骨骼的动画代替。
- 导入时,Unity会自动将多边形网格转换成三角形网格,因此在Maya中无需手动操作。
- 如果使用反向运动学(IK)来制作角色动画,需要在工程视图(Project View)中选择已导入的
.mb文件,并在检视器(Inspector)的导入设置(Import Settings)对话框中选择烘培IK和模拟(Bake IK & Simulation)。
导入要求
安装Maya
若要导入Maya的.mb和.ma文件,需在使用Unity的机器上安装Maya,支持Maya 8.0及更高版本。
导出为FBX格式
如果机器上未安装Maya,但想从另一台机器上导入Maya文件,可以将其导出为FBX格式,Unity可直接导入该格式。为获得最佳效果,请安装2011.3及以上版本。关于导出的相关内容,请参阅HOWTO_exportFBX。导出后,将FBX文件放在Unity的工程文件夹下,Unity会自动导入该文件,并按照HOWTO_exportFBX所述检查检视器中的FBX导入设置。
导入过程背后(高级)
当Unity导入Maya文件时,会在后台启动Maya,然后与Maya进行通信,将.mb文件转换为Unity可读取的格式。首次在Unity中导入Maya文件时,Maya将以命令行进程启动,大约需要20秒,后续的导入则会非常快速。
疑难解答
场景处理
保持场景简洁,尽量只处理包含Unity中所需对象的文件。
网格错误处理
如果网格发生错误,需要确认是否已将所有补丁、NURBS曲面等转为多边形(操作步骤:修改(Modify)> 转化(Convert)+ 网格(Mesh)> 分成三角形/四边形(Quadragulate/Triangulate)),因为Unity只支持多边形对象。
节点历史记录问题
在极少数情况下,Maya可能会将节点历史记录弄乱,导致模型无法正确导出。解决方法很简单,选择编辑(Edit)-> 按照类型删除(Delete by Type)-> 非变形历史记录(Non - Deformer History)。
FBX插件问题
Unity通常会保证支持最新的FBX插件。如果在导入模型时遇到任何问题,可以恢复到FBX 2012版本,或者在Autodesk网站查看最新的FBX导出工具。
动画烘培问题
Maya中的动画烘培现在可以开启FBX自带的烘培选项来代替,这样可以适当烘培较复杂的动画并输出至FBX格式。如果使用驱动关键帧技术,请确保至少设置驱动上的一个帧,以保证动画能够正确烘培。