maya详细绑定教程
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
maya详细绑定教程
说明:
文中提到的“A物P给B物”,意即A与B建立父子关系,A 是子物体,B是父物体。
文中“设置”作名词时往往是指点开某命令后的设置框。
概述:
绑定即给模型添加骨骼、设置Ik、添加驱动和控制器的过程。
最先添加骨骼(骨骼本身自成一套控制系统,即Fk系统),然后给骨骼必要的部分上Ik(它是另一套控制系统,即Ik系统,一个Ik的作用是:通过控制某一关节上的Ik是其他关节连动),然后添加控制器(一般使用CV曲线,控制器的作用是驱动Ik和骨骼,当我们调动画的时候不再去动骨骼和Ik,而是只调节控制器)。
也即:控制器控制Ik与骨骼,Ik也能控制骨骼,而骨骼最终控制模型(通过蒙皮)。
以下详细讲述,以卡通小女孩为例。
一、添加骨骼。
1、从腿部开始创建骨骼如下图:
需要注意的是,腿根到膝盖到脚踝之间必选是弯曲的,以使上Ik后有连动;脚踝位置;观察以脚尖和脚跟为轴在地上旋转的位
置,确定脚尖与脚跟处关节的位置;大腿根部旋转轴位置;
选中某一关节,insert状态下可调节其位置。
2、命名骨骼名称。
然后执行Skeleton——》Mirror Joints,注意设置项。
见图2。
图2
3、在腰部创建这两套关节的父关节。
并将它们P给它。
注意,此关节位置要在腿根关节略前,以保证能完成扭屁股动作。
4、顺着脊柱的大体位置和走势创建上半身和脖颈和头部的关节如下图3:
注意:颈部有三个关节;下巴有两块骨骼;腋下最好有一个关节,控制胸部运动。
图3
5、创建上肢骨骼:
图4
同样注意肘部关节要弯曲。
然后:
图5
6、创建手部关节:
图6
P给手腕关节:
图7
注意:在关节处我们会看到红绿蓝色的方向轴,选中此手柄可对其方
向作相应的旋转改变,关节的旋转方向也会改变。
大拇指的方向往往需要做一定的调整,因为拇指的旋转方向较特别。
Object方向下移动关节时即是沿着这些轴的方向移动。
将手指Mirror给另一侧。
若需要命名的话则先命好名再Mirror,可减少繁琐的命名过程。
7、链接上半身与下半身,
连接前
单独创建一关节
图8
将此三个关节移至同一位置(按住V键吸附至关节),即重心位置,
然后将2 P给3,再使1父子约束3,这样的设置能做到上身不动的情况下做出扭屁股的动作。
如下:
8.、至此,关节创建完毕
二、添加Ik。
需要添加Ik的主要是胳膊、手、腿、脚。
先看腿脚。
1、下图中关节1与
2、2与
3、3与4分别上一个Ik。
效果如图9。
图9
图10
然后即可选中某一ik进行移动旋转缩放。
如图10。
图11。
2、将图9中ik1与ik2打组为group1,ik3单独打一个组为group2。
然后将group1与group2打组为group3,将group3再打两个组group4与group5。
在大纲中如图:
图12
3、将group1(简称g1)的控制手柄移动至(图9中)关节3处(控
制脚趾旋转),g2的移至关节3(控制脚跟旋转),g3的移至关节4(控制以脚尖为中心的脚部旋转),g4的移至关节5(控制以脚跟为中心的脚部旋转),g5的移至关节2(控制以脚踝为中心的脚部移动和旋转)。
4、给ik3创建Locator,对Locator进行极向量约束Pole Vector(使膝盖能左右摆动)。
如图:
图13
胳膊和手处Ik设定。
如图13:
图14
5、另一只胳膊手与腿脚做同样设置。
三、添加控制器。
命令:使用各类约束命令时先选约束物体,在加选被约束物体,单击执行。
解除约束方法是:在大纲中找到代表约束的项直接删除。
使用父子关系时,先选子物体,再选父物体,单击执行。
控制器是为了不直接控制骨骼与Ik而添加的一种装置。
创建完成后,有时需要给控制器添加一些属性,然后通过添加的属性驱动
Ik的某些属性的变化。
创建属性命令如图13:
图15
执行后出现对话框,在对话框中设置要添加的属性名称,最小值,最大值,默认值等,如下图创建名称为Toe_rotate_X、最小值为-10、最大值为10.、默认值为0的属性:
图16
必须注意:创建一个将要作为控制器的部件并定好位置之后必须冻结属性。
创建作为极向量约束器的Locator也要冻结属性。
以便于控制器归位。
控制器及驱动创建流程:
脚部
1、给整个脚创建一个控制器。
为上述ik组group1添加驱动属性Toe_rotate_X,最大值10,最小值-10,默认值0。
如图15:
图17
2、对此驱动属性设置驱动:打开驱动器Animate——》Set Driver Key 设置。
控制器作为驱动、group1作为被驱动,选择Toe_rotate_X为驱动属性,Rotate X为被驱动属性。
如图16:
图18
3、在右侧属性栏中将Toe_rotate_X设为0、rotate X也设为0、单击单词rotateX(即选中被驱动属性),单击对话框中的Key键。
再将Toe_rotate_X设为10,rotateX设为70(这个值根据脚趾的可以做到的最大的旋转幅度随意设定,同样,对下面要讲到的其他group的属性的最大最小值的设置也可随意设定),单词rotateX,再单击Key。
最后Toe_rotate_X设为-10,rotateX设为-70,单词rotateX,再单击Key。
这个设置的目的即通过控制器的属性Toe_rotate_X从-10到10的变化来改变group1的属性rotateX从-70到70的变化。
对于ik组group1,只需要驱动rotateX这一属性,其他的都不需要,因为对于脚趾来说,其他属性不能发生变化。
同样,g2,g3,g4,g5,也只需要对必要的属性进行驱动即可。
总结起来,需要被驱动的属性为:
g2 rotateX
g3 rotateX
rotateY
rotateZ
g4 rotateX
rotateY
rotateZ
g5 不需要任何驱动,因为它本身是为了控制整个脚的运动,而它又已经P给了该控制器。
创建完成后控制器的属性栏如图17:
图19
4、对于控制器不需要的属性可锁定并隐藏。
如下图18:
图120
躯干的控制器设置:
1、在重心、腰、胸、脖颈中央、头与脖颈衔接处五处关节分别添加一个控制器。
冻结属性。
然后将手柄吸附到相应的关节上。
2、将控制器分别对所要控制的关节做旋转约束Constrain——》Orient。
只需要旋转约束即可。
约束时若关节发生位置偏移,可将此命令设置
中Maintain Offset属性勾选,其他约束类同。
图21
3、将下图中控制器1 P给2,2 P给3,3 P给4,4 P给5,5作为重心控制器。
将图8中关节1 P给重心控制器。
图22
4、制作扭屁股的控制器,将它旋转约束(即执行Constrain——》Orient)图8中的关节2 ,然后将它P给重心控制器。
如下图23:
图23 此控制器添加之后,就可上半身不动而只作扭屁股的运动。
5、制作下颌骨控制器,并将它P给头控制器(即图22中的控制器1),然后对下颌处的关节(即图22中的关节A)做旋转约束,将控制手柄吸附到该关节上。
图24
6、将头发、眉毛、眼睛、牙龈等物P给头控制器。
7、制作眼睛的目标约束:下图中,控制器1对右眼做目标约束(命令:Constrain——》Aim),2对左眼做目标约束,然后将1和2都P 给3。
图25
至此,躯干及头部控制器完成。
胳膊处的处理(难点):胳膊处需要做两套系统,即Ik系统与Fk
系统。
Ik系统用来应付身体动手不动的情况,Fk系统应付胳膊随手一起动的情况。
一般来讲,调一套动作只需要一套系统,不会同时用两套系统。
下面介绍的方法也无法做到两套系统同时使用。
流程:
1、给肩部加控制器。
并将控制器控制手柄的中心移至关节1处,冻结属性,然后对关节1执行旋转约束。
并将它P给胸部控制器。
图26
2、给胳膊处的三个关节添加控制器作为Fk系统的控制器,如下图27,冻结属性,然后将控制手柄移至各自的关节中心,并对各自的关节执行旋转约束。
将控制器2打一个组group1,控制器3打一个组group2。
控制器1对group1做父子约束,控制器2对group2做父子约束。
图27 3、创建Ik系统的控制器。
在手腕处创建一个控制器控制肩关节到腕关节之间的Ik,如下图28中的控制器4。
图28
4、将控制器4对控制器3做点约束,控制器4对腕部做点约束。
5、我们选择控制器3作为Ik与Fk系统之间的切换器,这样就需要对控制器3添加一个属性,该属性包括ik与fk两项,当我们选择属性ik时,fk系统的控制器1和控制器2隐藏;选择属性fk时腕关节处的ik、控制器4和肘部的Locator隐藏(控制器3作为切换器始终显示)。
对控制器3添加此属性的对话框设置如下图29:
图29
6、将控制器3作为驱动物体,控制器1、控制器2、控制器4、腕关节处的ik及控制器3本身分别作为被驱动物体,驱动属性始终是ikfk,
被驱动属性如下:
控制器1 visibility(ik时为off,fk时为on)
控制器2 visibility(ik时为off,fk时为on)
控制器4 visibility(ik时为on,fk时为off)
腕关节处ik visibility(ik时为on,fk时为off)
Ik |Bend(ik时为1,fk时为0)(Ik Bend属性为1表示此Ik被启动,可用;为0时表示被关闭,不可用)控制器3 控制器3既属于Ik系统又属于fk系统,所以需要对它的Blend Point属性做驱动,当属性ikfk为ik时Blend Point 为1,表示ik系统对它有作用;ikfk为fk时Blend Point为0,表示ik系统对它无作用,它只属于fk系统。
(控制器的Blend Point属性一般不显示,要想使它显示,我们可以对它的三个translate属性key 帧,它就会显示出来)
7、将控制器1 P给胸部控制器。
8、另一边胳膊做上述1到7同样的处理。
为了理解约束的时为什么有时候对某一控制器进行约束,有时又对控制器所打的组进行约束,我们需要知道这一规则,即:对某物进行约束后,它的被约束属性就没有了自己单独改变的自由,但对它所在的组进行约束,则它仍可以自己随意改变任何属性。
9、接下来设置一个控制整个角色的控制器。
将控制重心的控制器、双脚的控制器、图28中的控制器4、膝盖与手肘处的Locator都P
给它,使这个整体控制器移动旋转、尤其是缩放时,其他的所有物件如控制器、骨骼、ik都跟着移动旋转缩放。
检查缩放,胳膊处fk系统的两个控制器无法同时缩放,解决方法是:将图27中关节1对group1进行缩放约束,关节2对group2进行缩放约束。
另外,哪里还有问题,可根据具体情况对出现问题处进行特定的约束或建立父子关系。
注意:不要将ik P给整体控制器,也不要使它被整体控制器直接约束。