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

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

  本教程向脚本之家的朋友们介绍Maya动作调整Motion Builder功能及用途,教程属于一篇理论知识教程,虽然文字有点多,但介绍地很详细。相信大家能从中有个颠覆性的认识,原来功能可以开发成这样……

  相信大家都知道Maya,但却不能不知道Motion Builder,一套最强大的动作调整软件, Motion Builder 原属是加拿大Kaydara公司,但后来被Alias收购,改名为alias Motion Builder。Motion Builder的用途很广泛,实时意味着你无需花时间等待渲染的结果,预览起来没有任何解析度及帧速率的限制,也就是所谓的"所见即所得",回放时的效果如同最终成品,因此可以清楚知道每时每刻的结果。

  Motion Builder根据功能的不同,分为家庭版、专业版以及专用作运动捕捉的mocap版,而各个版本的功能相差很大,家庭版只有最基本的功能模块,没有Actor,同时只能打开一个take (就是一个动作片段),没有Motion blend,并且还缺少专业版的一些小功能;而专业版是没有什么限制的版本,支持Actor,Motion blend,同时打开多个take,增强了约束、关系式等的功能模块;而mocap版是相当于增加了运动捕捉功能的专业版,功能大致和专业版相同,可以拥有动作捕捉,面部表情捕捉等强大功能。

  我在这里要讲解Motion Builder 6.0,它比起以前的版本也是有相当大的改进,包括改进的用户界面、自动记录动画帧、运动轨迹,3d路经动画等。改进的用户界面:新版把常用的功能放到视窗的右边,方便用户操作(图 0) 。并且允许用户自定义界面的布局。

  例如我们不想浪费Key controls的面板空间(图 0-1),想把Groups和Sets菜单放到Key controls里,我们可以把当前的布局保存下来,选择layout菜单下的Create new layout子菜单(图 0-2),在弹出的菜单输入自己定义的命名(图 0-3),MotionBuilder会把这个配置文件保存为一个txt的文本,放到x:\Program\Files\Alias\MotionBuilder6Pro\bin\config\Layouts\mylayout.txt,用记事本打开,找到描述Key controls菜单的一项,更改为(图 0-4),关闭Motion Builder,重新运行后,更改就起效了,我们可以看看我们改后的成果(图 0-5),是不是很方便呢?用户的自由度大大的提高了。

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

 图 0

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

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

 图 0-2

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

 图 0-3

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

 图 0-4

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

 图 0-5

自动记录动画帧:首先在Motion Builder的Asset Browser里把cube拖动到viewer视窗(图1),这样便创建了一个四边形,然后在Key Controls窗口打开Auto key功能(图2),我们分别在第1,15,30帧对cube进行移动(键盘 T键),旋转(键盘 R键),缩放(键盘 S键)的操作,关键帧便记录下来。(图3)

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

 图1

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

 图2

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

 图3

Move keys:其作用是更改物体整体的运动方向,例如一个人沿着直线走,通过调整,我们可以让他行走中转弯,下面我通过一个cube的运动来说明这个功能的应用。现在cube的运动轨迹是直线的,我们想让它在15桢以后改变运动方向,我们只需要选择第15桢及其以后的所有关键桢(按下空格键,用鼠标拖动选择, (图 3-1)),对cube旋转,然后按下Move keys按钮,这个物体的方向便更改了(图 3-2),

其实这个功能是把story的操作简单化的一个方式,以前要改变一个人或物体的运动方向,只有在story里把clip剪开,然后旋转clip的ghost才能做的到,现在把这个功能单独拿出来,也是一个不错的改进吧。

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

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

运动轨迹:这个功能可以清楚的知道物体是怎样运动,以及运动是否平滑,对于运动调节的帮助很大,继续上面操作,我们在viewer的界面上打开显示运动轨迹的按钮,这样物体的运动路径便显示出来了,并且可以同时显示多个物体轨迹。

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

 图4

3d路经动画:可以让物体沿着用户定义的曲线运动。首先在Asset BrowserElements目录里双击3D Curve图标(图5),然后在viewer里点击进行曲线的绘制,按键盘上的Enter结束绘制。然后拖动cube图标到刚创建的curve上(图6),选择constraint object to path,物体便沿着曲线运动了,如果想改变曲线的形状,切换到点的方式(图7),就可以对曲线进行调整了。

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

 图5

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

 图6

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

 图7

Control Rigs 的独立:在Motion Builder 6.0 以前,control rigs并不是单独的,而现在独立后,能更方便地操作(图8)。

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

 图8

  Dynamic Editor(动态编辑器):很方便的关键帧编辑,并且能调节关键帧的权重,相邻关键帧间的曲线过渡(图9)。

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

 图9

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输出就可以了。

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

 图19

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

 图20

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

 图21

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

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

 图23

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

 图24

然后我们运行Motion Builder,打开刚才导出的文件,下面我们要对这个骨骼进行角色化,而角色化的这个过程是必要的,角色化后,Motion Builder会建立IK、FK,其实就是所谓的control rig,而我们在角色化的过程中,有一个比较巧妙的方法,就是把Asset Browser的Character图标拖动到scene里(图25),让程序自动检测哪个需要角色化,而根据我们骨骼命名的正确与否,大体上会分别出现三种情况,第一种 ,完全命名正确就只会出现(图26)的情况,这时候我们选Biped(两足动物)就可以了,Quadruped是四足动物;

第二种情况:由于骨骼的roll关节不够直,会出现如图(图27),这里的意思是Leftuplegroll在Z轴上不够直,需要旋转1.4度,修改方法是回到maya,选择程序提示的那一节骨骼进行修改(图28),修改后,为这个骨骼再建立一个新的bind pose就可以了。

第三情况:可能没相对应的那节骨骼,又或者是骨骼命名错误(图29), 从提示里,我们可以看到,缺少了头部的骨骼,至于如何看我们可以点击character,查看,就可以知道缺少了那一节,少了的Model栏里是空的(图30),如果命名错误比较少,而且是有那节骨骼,我们可以选上相对应的那一节,按下键盘上的Alt键的同时,用鼠标拖动到缺失的Model栏里。

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

 图25

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

 图26

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

 图27

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

 图28

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

 图29

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

 图 30

当角色化完全正确后,我们切换角色为当前角色,在Character controls的edit按钮选控制方式:Control Rig Input(图 31),然后在弹出的菜单选择FK/IK(图 32),最后激活Ctrl Rig In(图 33), keying mode的full body指为所有的control rig打关键帧,body parts为身体部分,包括其子物体,而selection为当前所选的,不包括其子物体。

当我们调节好动作以后,就要把动作应用到骨骼了,因为现在的关键帧只是打在了control rig上,骨骼上并没有关键帧,所以我们要用plot Character命令(图 34), 关键帧转换到骨骼,在弹出的菜单选(图 35)skeleton,然后程序会让你再次确认(图 36),一定要注意,不要忽略plot rate,这个要根据你的需要,一般正常都是用25frame的,进行plot Character后会变成一个take。

而现在我们可以存盘,在maya里导入动作(图 37),选择哪个take,因为我们想把动作导入现在的maya骨骼上,所以要应用Execlusive merge选项,而maya到Motion Builder的交互就基本完成了,在工作中,总结了一些经验,就是骨骼命名最好全在maya完成,要有合理的角色命名,插件的选择是最前提,新发布Motion Builder 6.0在fbx文件上和以前的各个版本都不同了,低版本不能打开高版本的fbx,所以尽量要选好一套稳定版本的组合,我个人推荐Maya 6.0 + Fbx 6.0 + Motion Builder 6.0这个组合,无论在插件的稳定性上都是不错的;另外用Motion Builder时,最好多存几个文件,因为有时候undo会回到很早前你所做的那一步 ,

不过Motion Builder 6.01好象消除了这个错误了,到这里,相信大家都会对Motion Builder有一个相当深入的认识了,掀开了它神秘的面纱,Motion Builder不愧为一个功能强大的角色动作调整软件。

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

 图 31

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

 图 32

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

 图 33

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

 图 34

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

 图 35

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

 图 36

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

 图 37 

关于Motion Builder的背景知识,Motion Builder 应用于好莱坞的动作捕作,角色动画制作,一些电影里面的三维角色的表情动画,现在大多数都是用其制作的,还可以配合面部表情捕捉系统,进行更精确的调整。

在当今电影领域应用广泛,还可以实现实时电视广播,真人和卡通实时对话,虚拟主持人,娱乐节目直播,电视游戏节目直播,新闻,天气预报直播,卡通连续剧和卡通电影等各种各方面的应用。这个软件具有独一无二的实时功能:支持实时的反射、贴图、阴影和粒子系统;实时卡通对嘴型(Lip-synchronization);可与虚拟演播室无缝连接使用(Camera Tracking);专业的数字分量和模拟分量输入输出。其强大的角色动作调整功能,不但支持两足,而且还支持四足动物,完全可以替代现有的三维软件的动作调整,在动画制作方面处于世界领先的水平。

教程结束,以上就是Maya动作调整Motion Builder功能及用途介绍,希望对大家有所帮助!

相关文章

最新评论