13Oct

FBX动画导入导出经验总结(Maya To Maya/Max)

时间: 2014-10-13 分类: 经验分享 作者:CG风火连城 10872 次浏览

TAGS: , , , , , ,

  最近在看@NeroBlackMaya特效教学,想做个自己的小东西,很多知识盲区所以绕了很多弯子,翻看风火兄博客得此文,所遇问题迎刃而解,特记录下来,免得以后忘记。也方便有需要的朋友!本文主要解决两种情况下的数据导入导出:
  1、Maya动画导给Max;
  2、Maya高版本动画导给低版本。其他情况应该是类似,看完下文应该都不存在难度了。

  经验总结,操作必读:

  一、Maya动画基本可以分为以下几种:1、Transform动画(位移旋转缩放等)、路径动画、各类约束;2、Shape动画(点动画、变形器动画、骨骼驱动的蒙皮动画等);3、相机动画(普通相机、一点相机、两点相机、带约束的相机,带父子关系的相机)。
  二、maya中的动画最好bake成逐帧动画再导出fbx,方能100%保证动画导出后和原动画一致。如果不bake成逐帧动画,可以看到动画曲线在原始场景里和fbx导出后,在不同软件的不同版本下动画曲线不一致,导致动画和原场景不一致,见下图。1 (5)  三、如果实在不想bake成逐帧动画,那么至少保证导出的fbx文件版本和即将导入fbx文件的软件版本一致,比如,maya2012导出fbx到maya2011来用,那么fbx版本请选择2011。
  四、bake逐帧动画并导出fbx完毕后,在导入到目标软件之前,请务必提前设置好目标软件的帧速率以匹配原场景的帧速率。尤其是导入到max,如果帧速率不对导入的动画会出问题。
  五、有时候导入到maya中会完全丢失动画,尝试重启maya再导入。
  六、maya骨骼动画通过fbx导入max后,虽然骨骼的动画曲线有变化,但是实际动画效果和maya保持一致。Maya带角色蒙皮的骨骼动画,将骨骼和角色模型导出fbx并导入max后,polygon模型的蒙皮效果和在maya中完全一致,nurbs模型的蒙皮效果和maya中的不一样。
  七、Nurbs的Shape动画的点缓存文件Maya认,Max不认,换言之,最好不要把Nurbs文件从Maya导去Max。
  八、导出的FBX如果带有点缓存目录,请不要改变点缓存目录的名字,否则会出现点缓存加载失败的情况。
  九、Maya中的相机设置越简单越好,因为FBX插件不支持Maya相机的一些高级选项,例如“Shake Enabled”、”Film Offset”等参数。
  十、导出的FBX文件经过三维软件另存为该三维软件原生格式后,点缓存路径便由“相对fbx文件的路径”变成“相对当前项目文件夹的路径”,如果缓存位置发生改变,需要手动指定缓存路径。如果点缓存的几何体很多,建议不要更改点缓存所在目录。

  第一部分:解决Shape动画(形变动画)的导入导出问题!

  1、如果要将形变动画导出,请选择场景中包含形变动画的物体(懒人直接全选所有的polygon,这样导出时间可能要稍微长一点),然后创建一个set或者quick select set,之后在导出fbx的设置中记得勾选Geometry Cache File(s),set选择你自己创建的包含形变动画物体的set,如图所示;1 (1)  导出完毕后会在你保存fbx文件的目录下创建一个新目录,名为“该fbx文件名”+“_fpc”,里面放的就是导出fbx的时候生成的几何体缓存。(ps:如果有导出几何体缓存不成功的情况,请先手动创建几何体缓存再导出)如图:1 (6)  3、在Max中选择Import,在导入的时候基本不用改动什么,注意根据需要调整一下场景缩放因子(Scale Factor)就可以了。1 (4)  4、将之前导出的fbx文件导入到Max后,如果操作无误的话,模型物体上就会自动添加一个Point Cache的修改器,之前没改动过那个自动生成的缓存路径的话,动画导入就ok了,导入到Maya中也会自动挂载Geometry Cache节点,类似Max。如图所示:1 (2)

  第二部分:解决相机动画的导入导出问题!

  1、普通相机的动画导出不容易出现问题,容易出现问题的是单点相机和两点相机。
  2、建议Bake逐帧动画之后再导出,最大限度避免动画曲线Tangent发生变化从而导致动画改变的问题。
  3、针对单点相机、两点相机、带约束的相机以及带父子关系的相机(甚至还锁定并隐藏了一些参数),最安全的导出方法不是导出该相机本身,而是新建一个相机,拷贝原始相机的所有参数给它,最后做一个父子约束,然后再Bake成逐帧动画,然后就OK了。
  4、综合以上三点,给出自动化MEL Script:cxMakeSimpleCloneCam.mel 点击下载 使用方法:选择欲导出的相机,将这个脚本拖入Maya界面(执行该脚本)。作用:得到该相机的完全克隆版,而该克隆版的相机可以很方便的Bake逐帧动画之后导出。
  5、克隆相机的动画留待“第三部分:解决Transform动画的导入导出问题”一并导出FBX。

  第三部分:解决Transform动画、路径动画、约束动画的导入导出问题!

  1、选择场景中所有想要Bake逐帧动画的物体(节点),包括带动画的Transform节点、带动画的MotionPath节点、被约束的Transform节点等。
  2、执行Edit—Keys—Bake Simulation。
  3、导出FBX使用“Autodesk Media & Entertainment”的预设文件(见图5),根据个人需要稍作修改即可。1 (3)  4、导入FBX文件到Max或者低版本的Maya,基本不用做什么更改,导进来就是对的了。
  综合1-3,给出自动化MEL Script:cxBakeAllAni.mel 点击下载 使用方法:将这个脚本拖入maya界面(执行该脚本)即可。
操作流程简化为:1、运行cxBakeAni.mel;2、导出FBX;3、导入FBX。

  第四部分:复杂场景的FBX导出操作!

  如果一个场景中既包含相机动画,又包含Transform动画、路径动画、约束,也有Shape动画,且都需要导出,我的操作步骤如下:
  1、选择场景中包含Shape动画的物体创建一个set或者quick select set,如果含有大量小物件的Shape动画,可以考虑选择大量小物件combine后变为一个物体再创建set。
  2、选择要导出的相机运行cxMakeCloneCam.mel;
  3、运行cxBakeAni.mel;
  4、使用Exoport All,或者选择需要导出的物体—Export Selection,FBX的设置中记得勾选Geometry Cache File(s),set选择你自己创建的包含形变动画物体的set,之后导出*.fbx文件。如果Geometry Cache导出提示失败,那么就请先手动创建Geometry Cache再导出。
  5、自然导入Maya或者Max就可以了。

  全文完,谢谢观看!

喜欢我们的文章请您与朋友分享:

相关文章:

Comments

目前有 3 条精彩评论

  1. dlsowo
    dlsowo 发表于: 2014-12-24 15:28:26

    学习中

  2. IT疯狂女
    IT疯狂女 发表于: 2014-10-14 15:41:03

    没学过这个,感觉很难

  3. 梦轩丽人
    梦轩丽人 发表于: 2014-10-14 08:51:14

    大体看了一下,真的很高深,博主的技术很厉害啊

Comments
发表评论

电子邮件地址不会被公开。*标记为必填选项

按 [ Ctrl+Enter ] 键直接提交

  • 正确格式为: http://www.anzyu.com
返回顶部