【理论篇】Maya动作调整Motion Builder功能及用途介绍

火星时代   发布时间:2014-09-23 16:01:32   作者:曹茂鹏转稿【周杰】   我要评论
本教程向脚本之家的朋友们介绍Maya动作调整Motion Builder功能及用途,教程属于一篇理论知识教程,虽然文字有点多,但介绍地很详细,相信对于大家会有一定的帮助

Story的改进:现在story可以支持character face了,也就是可以专用一条轨,做面部表情动画,并且可以为表情建立clip,方便动画的连接(图10),6.0以前的story是没这个功能的。

Maya动作调整Motion Builder介绍 脚本之家 MAYA动画教程

图10

Character face和 Actor face的分离:Motion Builder的面部表情动画是通过设置好后,通过声音来驱动的,不用手动建立关键帧,不过也有限制,暂时这个声音驱动只支持英文、法文、等,却不支持中文,所谓不支持,其实口型是有的,但不太准确,要很准确,还是要手动key,或者在story里面建立clip,更何况现在character face已不再需要Actor face就能做声音驱动表情动画,以前是不行的,而独立出来的Actor face,现在主要功能是做面部表情捕捉(face mocap)。

Handle(手柄):主要是用来标识,可以方便自己区分场景的物体,对物体进行移动、旋转、缩放等操作,另外的用途是用作控制IK/FK。而建立handle的方法也是从Asset Browers的Elements的目录里,找到handle图标(图11),拖动到物体上(图12),并且可以设置这个handle的大小,标注的文字,颜色,选了这个handle就等于选择了这个物体。

Maya动作调整Motion Builder介绍 脚本之家 MAYA动画教程

 图11

Maya动作调整Motion Builder介绍 脚本之家 MAYA动画教程

 图12

脚本编辑器(Python programming language):Motion Builder 6.0新增的脚本语言,也是一种易学易用的语言,下面就详细介绍如何设置和一些应用,不过只有专业版或者比专业版更高级的版本才拥有这样的功能,用户可以根据自己的需要,编写程序,自动处理一些重复性的任务。

而这种语言的文件,是以.py为后缀的文本文件,用记事本就能打开,所以我们写完后,就可以另存为*.py的文件,然后放回Motion Builder的目录(一般是X:\Program Files\Alias\MotionBuilder6Pro\bin\config\Scripts,X是你的驱动器),不过我们也可以在Asset Browser自己定义一个路径,把脚本文件存放到自己定义的目录,方法是:在Asset Browser左边点击鼠标右键,在弹出的菜单上,选择Add favorite path选项(图 13),在弹出的对话框选择自己定义的目录就可以了(图 14)。

现在我们来尝试写一个scripts,来更改场景里所有的摄像机的背景色,我们用记事本写出如下代码(图 15):然后在记事本的设置如(图16),一定要注意大小写;做完以上步骤后,我们需要对目录进行刷新,在Asset Browser的Scripts目录用鼠标右键点击,在弹出的选项选择Refresh directory选项(图17),这一步是必要的,不然是不会出现我们刚才所写的文件的,至于如何执行这个脚本,也是很简单的,把这个脚本拖动到viewer窗口,然后选择Execute选项,这样场景所有Camera的背景色都被更改了(图18)。

Maya动作调整Motion Builder介绍 脚本之家 MAYA动画教程

 图 13

Maya动作调整Motion Builder介绍 脚本之家 MAYA动画教程

 图 14

Maya动作调整Motion Builder介绍 脚本之家 MAYA动画教程

 图 15

Maya动作调整Motion Builder介绍 脚本之家 MAYA动画教程

 图 16

Maya动作调整Motion Builder介绍 脚本之家 MAYA动画教程

 图17

Maya动作调整Motion Builder介绍 脚本之家 MAYA动画教程

 图18

组和集(Groups and sets) :你可以为场景浏览器里的任意类型的元素创建Groups 和sets,在管理角色和其它物体上,这个功能很有用,你可以很容易的管理、删除、替换他们所包含的元素,成组后的物体,我们可以控制这个组的可视,是否可选,以及是否锁定旋转,平移,缩放的属性。

相关的新增功能就基本上介绍完了,下面介绍maya 6.0和Motion Builder 6.0的交互,很多人听到,可能会问为什么要maya和Motion Builder交互呢?现在我来说一下,maya虽然是有trax editor编辑,不过在角色编辑的强大性上是比不上Motion Builder的。

而且在动作的通用性上,是不如Motion Builder的,例如角色的大小不同,角色的骨骼旋转轴心等问题,还有多个动作的融合,以及对身体某一部分进行local blend的方面,镜头的切换,maya还是不如人意,而且maya调动作,实时交互性很差,角色复杂一点的就慢下来了,更不要说同时调整多个角色,而且动作是否有不顺畅,都不能马上知道,要用playblast预览动画,playblast的速度也是十分的慢,没办法达到Motion Builder少于一秒一帧的渲染速度的,说了这么多,相信大家都明白Motion Builder的强大之处了。

现在介绍Motion Builder和maya交互要知道的一些基本流程,而这个交互,是通过插件来实现的,首先在maya里要建立符合Motion Builder命名规则的骨骼,蒙皮后导入Motion Builder,在里面建立IK/FK,然后调整动作,调整后再导入maya,大概的流程就是这样了。不过首先要知道的是怎么相互导入,我们需要一个FBX的插件,用作maya和Motion Builder的交互,我们可以到
http://www.alias.com/eng/products-services/fbx/download.shtml,这个插件是免费提供 的,不过要注册一下才可以下载,不过根据使用这么久的经验,最新的fbx 插件还是不要用于工作,有时候新的版本还是不如旧版本的那么理想,会出现一点问题,使用maya 5时推荐使用 3.82版本的,maya 6.0推荐使用 5.3或6.0 版本,这两个都是比较稳定的版本, 虽然现在出了6.01版。

在确定以上的条件都准备好后,就可以进行以后的流程了,首先我们要先确定FBX插件装载了没有,因为默认情况安装后,这个插件是不会自动装载的,我们要在maya里装载(图19),首先我们在邦定角色之前,要知道因为maya局部座标系统有可能导致导入Motion Builder后产生位移的错误,就是导入后和maya看到的效果不一样。

要解决这个问题,先选择所有的物体(除了要做blendshape表情的不要选,切记),执行Modify/Freeze transformations命令(图 20),把模型的局部坐标全部置0,才能进行角色绑定的下一步操作,绑定模型后,根据经验,比较多会出问题的地方多是胳膊,手臂,臀部,这三个地方,而绑定的模式最好是smooth bind(光滑蒙皮),因为Motion Builder对maya的光滑蒙皮支持要比Rigid bind(刚性蒙皮)要好,主要是不支持刚性蒙皮的Flexor修改器。现在我们继续下一步,现在我要处理的是角色的骨骼命名问题,因为Motion Builder只支持符合它命名的骨骼,虽然命名不正确,是可以在Motion Builder里面修改,但比较麻烦,所以最好在maya里一次完成。

在工作中要注意的是给角色的root命个名字,以便区分角色,以及以后动作的导入,我们在maya里为角色加一个前缀,例如添加一个名为 clock_的前缀,我们可以在maya的script editor输入如下命令(图21),然后我们对根节点改名(图22),这样我们在maya里面工作就做完了。下一步就是输出到Motion Builder,需要注意的是输出的文件格式选项,我们输出的是fbx (图23),不是mb格式,另外需要注意的是输出的目录不要用中文,不然是没任何文件输出的,因为Motion Builder不支持中文目录,按下Export后,会弹出一个输出的选项(图24),而用户可以根据需要,自行选择,一般都不用选的,按默认Export输出就可以了。

相关文章

最新评论