Maya骨骼控制设计系列教材五(1)
手的设置就那么几种,如果想得到更丰富的控制只能增加控制器这里就不说了。值得注意的是手部骨骼的设置,上图是我个人比较喜欢的设置,根据具体要求你还可以作更具体的变化。我们将它parent到手臂最后一节关节上。
(图1 parent到手臂最后一节关节)
这一步也十分平常,我们要交互的控制手臂的ik,所以我们希望控制曲线会正确及时的反映当前骨骼的状态。我们先选择骨骼候选择控制曲线。执行Orient(方向约束),控制器马上就调整到了和骨骼相同的角度。
(图2 执行Orient)
随后我们要做的是移动控制曲线,ik就会随之移动。先选择控制曲线,再选择ik手柄,执行点约束。这样移动控制曲线手臂就会随之移动,而又交互的反映反映当前骨骼的状态。
(图3 移动控制曲线)
Maya骨骼控制设计系列教材五(2)
再下面,将一个手指控制器点约束到手部某一骨骼,我们之所以不在刚才的曲线上添加这手指控制是因为我们对手部控制曲线还有别的设置。
(图4 将手指控制器点约束到手部某一骨骼 )
关键的部分,我们大家都知道,手的控制是应该分为两种的,一种是可以随身体移动的,一种是不会随身体移动的,也就是Local和global两种类型。这样对于某些动画很有益处。例如,推动重物等等。
明确了需求后,我们就自然而然的想让骨骼存在这两种状态,并可以自由切换。下面就是我们的解决办法:
首先,我们将已有的控制器复制一个,按下Ctrl+d,这样就得到了又一个控制器,并且它还带着无效的连接。不用犹豫,直接把连接删掉。
(图5 复制控制器)
择刚刚复制的控制器,再加选ik手柄。再次执行Point Constain。这样就又加了一个可以控制ik的控制器。
(图6 加一个可以控制ik的控制器)
Maya骨骼控制设计系列教材五(3)
重复前面的一个步骤,先选择骨骼候选择控制曲线。执行Orient。
(图7 执行Orient)
现在来测试一下!
(图8 测试)
们将两个控制器,分别命名为Local和Global,并都加上buffer的一个组,将Local的组parent到脊椎的某一级骨骼上。
选中肩部控制器,添加一个Enum的属性,在Enum Name中输入Local和Global。
(图9 肩部控制器添加属性)
Maya骨骼控制设计系列教材五(4)
这样就有了一个可以切换Local和Global的控制了。
(图10 可以切换控制)
我的目的就是通过切换钮,切换这两个控制器对ik手柄的控制权重,即达到使用Lacol就使Lacol对ik手柄的权重为1,Global对ik手柄的权重为0;反之,使用Global就使Lacol对ik手柄的权重为0,Global对ik手柄的权重为1,我们再捎带上控制器的Visibility属性。其中的关系有点搞,希望大家不要晕。上图是几个要用到的属性。
Maya骨骼控制设计系列教材五(5)
(图11-1,11-2,11-3 需要用到的属性)
下面我们只要右键肩部控制器切换的Lacol、Global的属性选择Expression...写入:
ikHandle9_pointConstraint1.r_handControl_gW1=r_handControl_g.visibility=r_shoulderControl.r_control;
ikHandle9_pointConstraint1.backContral3W0=r_handControl_l.visibility=1-r_shoulderControl.r_control;
这句话的意思就是:
Global对ik的权重=Global的显示=切换控制器选Global;
Lacol对ik的权重=Lacol的显示=1-切换控制器选Global;
因为切换控制器选Global时值为“1”。
(图12-1显示)
(12-2属性)
Maya骨骼控制设计系列教材五(6)
好了,现在你就可以尽情切换Lacol、Global的控制了。
其实学会控制的思想最为重要。方法可能不一而同,但只有思想是绝对的。
下面我们再来看一下躯干部的控制,首先建立一个圆环控制器。按住v键,捕捉到根骨节。
(图13 躯干部的控制)
下面我们来明确几个要控制的部分:
1、髋部控制器。2、腰部控制器。3、脊椎的簇。4、根骨节。
(图14控制的部分)
将他们都放在新建的控制器下。
(图15 完成)
网友评论