motionbuilder第三章:角色动画(一)角色模板
第三章 角色动画
角色动画是MB的核心部分。在本章里,我们将学习MB设置角色动画的基本方法,内容包括有使用角色模板对角色进行角色化处理,设置角色动画驱动方式,编辑角色动画,为角色套用运动捕捉文件等。
3.1 角色动画流程
MB基于实时架构、使用智能角色动画技术来表现角色动画,其主要的工作流程包括下面三个方面:
▪ 角色导入 ▪ 角色化处理 ▪ 设置角色驱动方式
首先,在角色导入方面。由于MB没有建模能力,因此角色及其骨架创建通常都是在其它的外部软件(比如Lightwave,Maya和3dsMax等)中完成,然后再通过FBX插件对角色进行导入处理。
其次,在角色导入场景以后,为了让角色骨架能够和MB的角色动画系统产生连接,需要使用系统内置的角色模板来对角色骨架进行角色化处理。在这里,角色模板实际上就是系统基于自身角色动画系统缺省定义的一套骨骼节点。而角色化处理,就是系统连接角色模板上的缺省节点到角色骨架的过程。在这个过程中,系统能够自动根据角色模板上各个节点的命名来检查角色骨骼。如果角色上各骨骼的命名都能够和角色模板上所定义的节点名称对应,则导入的角色骨架可以正确的和MB角色动画系统相连。 最后,在角色骨架完成角色化处理后,系统提供几种角色驱动方式来设置角色动画。比如,可以使用骨骼控制装置操控角色,使用数据映射方式映射运动捕捉数据到角色等。 3.2 角色模板
缺省情况下,角色模板位于资源浏览面板的Template>Characters文件夹中,见图3-1。要使用角色模板,可以在文件夹里选择Character图标后,按住鼠标左键拖动到场景视图中。这样,系统就会在场景导航面板的Characters元素类型里自动生成命名为Character的角色模板设置。同时,对应的模板设置显示在面板右边。
图3-1 角色模板图标
如果要观看角色模板上的各骨骼节点定义,可以在面板上切换到Character Definition选项卡。如图3-2所示,在选项卡中,模板上的所有节点定义都显示在节点列表窗口中。当系统没有进行角色化处理时,在节点列表右边的Model模型映射栏中,所有节点对应的角色骨骼都显示为 3-2 角色模板定义选项卡 任何时候,在我们为角色绑定骨架时,最好都应根据角色模板的这套骨骼节点定义来配置骨架结构和为骨骼命名。但这并不意味着MB会强迫我们创建骨架时就要完全包含模板上所定义的骨骼节点。与之恰好相反的是,我们可以根据需要来为角色配置骨架,比如,见图3-3所示,图中显示的角色骨架能够正确进行角色化处理,每个骨骼都使用角色模板中相应节点的命名原则。然而,由于角色模型没有手指部分,我们可以不用为手指部分创建相应的骨骼。那么,在模板中也不用指定和手指节点相对应的骨骼。关于这些节点和角色骨骼的对应关系,可以参考下面的说明: 图3-3 角色骨骼命名显示 ▪ Reference(参考节点):定义角色骨架层级的根部节点,可以控制整个角色层级的位移,旋转等运动变换。 ▪ Left/Right Foot Floor(脚部地面节点)和Left /Right Hand Floor(手部地面节点):指定场景地面。这影响到角色在动画过程中,手和脚在接触地面时的反应。如果没有为它们进行任何指定,系统使用Y轴零点位置作为地面。 ▪ Base(基本节点):是必须为进行指定的角色骨骼节点设置。主要包括Hip(臀部骨骼),LeftUpLeg/RightUpLeg(左/右大腿骨骼),LeftLeg/RightLeg(左/右小腿骨骼),LeftFoot/RightFoot(左/右脚骨骼),Spine(脊椎),LeftArm/RightArm(左/右手上臂骨骼),LeftForeArm/RightForeArm(左/右手前臂骨骼),LeftHand/RightHand(左/右手骨骼)和Head(头部骨骼)。 ▪ Auxiliary(辅助节点):增强角色肩部,脚趾和手指等部位运动的控制骨骼节点。主要包括LeftToeBase/RightToeBase(左/右脚趾控制骨骼),LeftShoulder/RightShoulder(左/右肩控制骨骼),Neck(颈部控制骨骼),LeftFingerBase/RightFingerBase(左/右手指控制骨骼)。 ▪ Spine (脊椎节点):定义角色脊椎骨骼,最多可以设置10个。为了让脊椎运动产生最好的效果,应该在绘制角色脊椎骨骼时让每根骨骼都具有相同长度。 ▪ Roll(转动节点):定义角色手臂,腿部用于产生扭动效果的支关节。在为角色创建骨骼时,这些关节最好能够同时创建。这样,通过控制相应的支关节,可以为角色的手臂和腿部增加一些真实的肌肉扭动效果。对应骨骼主要包括LeftUpLegRoll/RightUpLegRoll(控制大腿扭动),LeftLegRoll/RightLegRoll(控制小腿扭动),LeftForeArmRoll/RightForeArmRoll(控制手臂前臂扭动),LeftArmRoll/RightArmRoll (控制手臂上臂扭动)等。 ▪ Left Hand/Right Hand(左右手指节点):角色包含手指动画控制时,定义手指各关节。在列表中每个手指都有4个节点来定义相应的骨骼,节点名称的每一个数值和相应的手指关节对应。比如标记为1和3的数值代表手指的第一个关节和最后一个关节。但要注意,最后一个节点定义的是手指未端骨骼,而不是手指的未端关节。 ▪ Left Foot/Right Foot(左右脚趾节点):和手指节点类似,定义左右脚脚趾关节 ▪ Left In-Hand/Right In-Hand和Left In-Foot/Right In-Foot:通常用于定义动物角色的爪部,连接各个指关节和Finger/Toe Base骨骼的附加骨骼,见图3-4图ABC所示。 图3-4 连接Index,Middle和Ring三个指关节的In-Foot骨骼 ▪ Neck(颈椎节点):控制角色颈部运动的骨骼节点。通常两足动物的颈椎骨骼只有一个,而四足动物可包含更多的颈椎骨骼定义。 ▪ Props(道具节点):为角色增加5个附加节点去控制角色的道具使用。比如,像武器等角色可以使用的物体。 注意上面列举的节点定义,各节点间也具有相应的层级关系。比如,图3-5显示角色在不包括手指骨骼节点时各个节点间的层级关系。另外,如果是动物角色设置,可以把四足动物的前腿当作角色的手,把四足动物的后腿当作角色的腿,并且这些部位的骨骼命名和层级结构同样使用和角色定义相同的原则。 图3-5 角色骨骼结构 因篇幅问题不能全部显示,请点此查看更多更全内容