第七章第二节 食草动物的角色设定
此文出自国际Maya认证教师:王之纲(我的老师),转载请注明出处以及撰写人!
本节概述
马的角色设定
食草动物的运动控制以马为代表进行介绍。马的模型可以使用通用模型库的现有文件,读者也可以使用在豹子建模部分介绍的建模方法创建更为理想的模型。
马的骨骼结构如图7.2.1所示。
实例教程
1 创建骨骼
进入Side视图,选择主菜单Skeleton>Joint Tool>Option>Reset Tool恢复缺省设置。根据在三毛的骨骼创建部分介绍的骨骼创建方法,创建马的大致骨骼轮廓,其中的根关节放置在马的腹部靠上的位置。如图7.2.2所示。
创建基本骨骼框架之后,在Perspective视图中调整骨骼的空间位置,主要是调整腿部骨骼在X轴向上的位置,如图7.2.3所示。
2 骨骼重命名
为了便于下一步的操作,这时需要对现有的骨骼进行标记与重命名。这里仍然使用Maya的Retargeting工具。选择主菜单Skeleton>Retargeting>Joint Labelling,并且将工具条独立出来。根据马的结构特点与设置需要为现有骨骼创建标记。对于我们需要的一些特别的标记,在工具条中没有提供,这就需要手动进行添加。例如:控制右前腿的关节,我们需要将它标记为RightHand_ctrl,在Retargeting工具条中没有此项,选择该关节后按ctrl+a打开属性设窗口,在Joint>Joint Labelling层级下将Type项设置为Other,然后other Type项中输入RightHand_ctrl,最后勾选Draw Label项打开标记的显示,具体设置如图7.2.4所示。
对于在Retargeting工具条中提供的关节标记,尽可能使用现有的名称对关节进行标记,没有的名称手动进行设置。为了方便下一步的操作,我们将四足动物的关节名称按照两足动物关节的命名习惯进行命名,即分为左右臂和左右腿。当前骨骼的标记后各个关节的标记名称如下:
Label Center:Head1—Head2—Neck—Collor—Spine1—Root—Spine2—Spine3—Tail1—Tail2—Tail3—Tail4—Tail5—Tail6
Label Right(右前腿):Shoulder_ctrl—Shoulder1—Shoulder2—Shoulder3—Elbow—Hand1—Hand2—Hand3
Lable Right(右后腿):Hip_ctrl—Hip1—Hip2—Hip3—Knee—Foot1—Foot2—Foot3
标记定义后按照标记对骨骼名称进行重命名。选择根关节,选择主菜单Animation>Skeleton>Retargeting>Rename joints from labels,这时骨骼名称全部更新。如图7.2.5所示。
3 镜像骨骼
完成一侧骨骼的创建后,通过骨骼对称工具生成另一侧的骨骼。方法参照三毛骨骼创建部分,结果如图7.2.6所示。
4 调整关节的局部旋转轴
马的主体骨骼创建完成后,在进行下一步设置之前需要调整骨骼的Local Axes。调节时仍然按照Y轴向上、X轴指向下一关节的规律,对于四肢的Hand/Foot关节,由于将会使用附加的反向控制关节控制,因此可以省略Local Axes的调节。如图7.2.7所示。
5 设置四肢的IK控制手柄
马的四条腿都使用IK进行控制。分别由Shoulder3至Hand1、Hip3至Foot1建立4个IK,IK solver类型使用ik2Bsolver然后为新建IK重命名为:ikHandle_LeftHand、ikHandle_LeftFoot、ikHandle_RightHand、ikHandle_RightFoot。如图7.2.8所示。
6 设置腿的反向控制关节
马的足部反向控制骨骼与豹子的略有不同,如果将一只足的全部运动控制都集中到一套反向控制骨骼中,控制起来十分麻烦,因此反向控制骨骼需要结合原始骨骼共同完成马的运动控制。
选择RightShoulder_ctrl与RightHip_ctrl关节,将其隐藏。首先创建左侧的反向控制关节。进入Side视图,分别创建前腿与后退的反向控制关节,如图7.2.8所示。
选择新建的两组关节,沿X轴正方向移动2的距离,与左侧腿在X轴方向对齐。然后对新建关节进行重命名。前腿关节依次为LeftHand_ctrl1—LeftHand_ctrl2—LeftHand_ctrl3—LeftHand_ctrl;后腿关节依次为LeftFoot_ctrl1—LeftFoot_ctrl2—LeftFoot_ctrl3—LeftFoot_ctrl4。
使用移动工具,配合点捕捉键—v键,将新建反向控制关节与原始骨骼进行对齐,LeftHand_ctrl1、LeftHand_ctr13与LeftHand1重合;LeftHand_ctrl2与LeftHand2重合;LeftFoot_ctrl1、LeftFoot_ctrl3与LeftFoot1重合;LeftFoot_ctrl2与Foot2重合。如图7.2.10所示。
反向控制骨骼位置调整好以后,开始建立控制骨骼与腿部骨骼之间的约束关系。建立方法与步骤与三毛脚部控制骨骼约束相似,例如:选择LeftHand_ctrl2后按住Shift键增加选择LeftHand1,选择主菜单Animation>Constrain>Orient>Option弹出设置窗口,勾选Maintain Offset项,单击Apply键完成操作。前腿与后腿一共需要创建四组约束关系,具体如下:
LeftHand_ctrl2+ LeftHand1>orientConstraint
LeftHand_ctrl3+ikHandle_LeftHand>pointConstraint
LeftFoot_ctrl2+ LeftFoot1> orientConstraint
LeftFoot_ctrl3+ ikHandle_LeftFoot> pointConstraint
约束关系建立完成后,左侧的前后腿的控制骨骼系统全部完成,恢复右侧的前后腿骨骼显示,按照左侧控制骨骼的创建方法与步骤建立右侧的控制骨骼系统,结果如图7.2.11所示。
7 设置马尾的样条曲线IK
马的尾部关节使用IK Spline Handle控制。选择主菜单Animation>Skeleton>IK Spline Handle Tool>Option打开设置窗口,将Number of Spans项设置为4,由CenterTail1至CenterTail6建立IK Spline Handle,如图7.2.12所示。
由IK Spline Handle生成的curve1使用cluster控制。选择curve1,按F9键进入NURBS CV选择级别,由第一个cv开始,每两个cv点创建一个cluster,一共创建4个cluster。
8 显示关节的选择手柄
为了方便对关节进行设置关键帧,因此需要将设置关键帧的关节选择手柄显示出来,如图7.2.13所示。
各个选择手柄的名称及对应位置参考下图7.2.14所示:
9 创建马的角色集
创建一个主角色集—All,然后在主角色集层级下创建4个子角色集:CenterBody、leftFoot、leftHand、RightFoot、RightHand,然后将相关骨骼与控制骨骼的有关属性添加至相应的角色集,如图7.2.15所示。
各角色集中关节属性内容如下:
| CenterBody: | |||
| CenterSpine1.rx CenterSpine1.ry CenterSpine1.rz |
CenterSpine2.rx CenterSpine2.ry CenterSpine2.rz |
cluster1Handle.tx cluster1Handle.ty cluster1Handle.tz | cluster2Handle.tx cluster2Handle.ty cluster2Handle.tz |
| cluster3Handle.tx cluster3Handle.ty cluster3Handle.tz | cluster4Handle.tx cluster4Handle.ty cluster4Handle.tz | CenterNeck.rx CenterNeck.ry CenterNeck.rz | CenterRoot.sx |
| CenterHip.tx CenterHip.ty CenterHip.tz | Centerhip.rx CenterHip.ry CenterHip.rz | CenterHead2.rx CenterHead2.ry CenterHead2.rz | CenterCollor.rx CenterCollor.ry CenterCollor.rz |
| CenterRoot.tx CenterRoot.ty CenterRoot.tz | CenterRoot.rx CenterRoot.ry CenterRoot.rz | ||
| LeftFoot: | |||
| LeftHip1.rx LeftHip1.ry LeftHip1.rz |
Lefthip_ctrl.rx | Left_ctrl.ry Left_ctrl.rz |
LeftFoot2.rx LeftFoot2.ry LeftFoot2.rz |
| LeftFoot_ctrl1.tx LeftFoot_ctrl1.ty LeftFoot_ctrl1.tz |
LeftFoot_ctrl1.rx LeftFoot_ctrl1.ry LeftFoot_ctrl1.rz |
||
| LeftHand | |||
| LeftShoulder1.rx LeftShoulder1.ry LeftShoulder1.rz |
LeftShoulder_ctrl.rx LeftShoulder_ctrl.ry LeftShoulder_ctrl.rz |
LeftHand_ctrl1.tx LeftHand_ctrl1.ty LeftHand_ctrl1.tz |
LeftHand_ctrl1.rx LeftHand_ctrl1.ry LeftHand_ctrl1.rz |
| LeftHand2.rx LeftHand2.ry LeftHand2.rz |
|||
| RightFoot | |||
| RightHip1.rx RightHip1.ry RightHip1.rz |
RightHip_ctrl.rx RightHip_ctrl.ry RightHip_ctrl.rz |
RightFoot_ctrl1.tx RightFoot_ctrl1.ty RightFoot_ctrl1.tz |
RightFoot_ctrl1.rx RightFoot_ctrl1.ry RightFoot_ctrl1.rz |
| RightFoot2.rx RightFoot2.ry RightFoot2.rz |
|||
| RightHand | |||
| RightShoulder1.rx RightShoulder1.ry RightShoulder1.rz |
RightShoulder_ctrl.rx RightShoulder_ctrl.ry RightShoulder_ctrl.rz |
RightHand_ctrl1.tx RightHand_ctrl1.ty RightHand_ctrl1.tz |
RightHand_ctrl1.rx RightHand_ctrl1.ry RightHand_ctrl1.rz |
| RightHand2.rx RightHand2.ry RightHand2.rz |
10 给马蒙皮并添加影响物体
骨骼系统与控制系统创建完成后,可以进行蒙皮操作。马的蒙皮使用Smooth Bind方式。由于马的腹部没有创建单独的关节控制,可以添加一个Influence物体,创建一个NURBS球体,调整大小与位置,如图7.2.16所示。
选择马的模型后按住Shift键增加选择NURBS球体,选择主菜单Animation>Skin>Edit Smooth Skin>Add Influence完成创建,如图7.2.17所示。
蒙皮后进行相应的绘制权重工作,具体方法与三毛角色创建中相同,在此不再重复。
此文出自国际Maya认证教师:王之纲(我的老师),转载请注明出处以及撰写人!
















