游戏角色制作:鸟类飞禽骨骼绑定。
视频教程:中国CG联盟骨骼,尤其是翅膀部分的结构。很多时候初学者在做翅膀的骨骼设置时,都会犯一些结构上的错误。模型制作的时候,需要了解最终动画的要求。在我们的例子当中,这只卡通的乌鸦需要有收起翅膀和张开翅膀的动作,同时还需要用翅膀做出拟人化的手势。所以这对我们进行骨骼设置提出了比较高的要求。
然后选择jiont01,执行ModifyàFreeze Transformation命令(将jiont01的旋转属性归零)。
小帖士:在骨骼设定的时候,我们应该注意骨骼的旋转、缩放属性是否为默认数值。正常情况下,骨骼的Rotate应该保持为零,Scale保持为1. 如果在视图里骨骼看起来比较小,我们可以通过主菜单DisplayàJiont Size命令,调整视图内骨骼的显示。也可以在每一节骨骼的参数通道栏Radius属性下调节。 因为翅膀要能完整的合上、展开,所以每一片羽毛我们都要单独的添加骨骼,以便随着翅膀的动作运动。如下图B(在这里,,为了让大家能够看清楚,我们只以大片羽毛为例)
选择翅膀肘部关节(jiont03),点击Set Driven Key窗口下的Load Driver,在右边的通道栏属性窗口选择用来驱动物体的属性,这里我们选择rorateZ。
然后选择cc_jiont002—07(就是每根羽毛的骨骼,可以一次多选几个被驱动物体),点击Load Driven,在窗口调入被驱动物体。在右边的通道栏属性窗口选择用来被驱动的属性,这里我们选择rorateY,我们可能还需要选择trabslateX和Z属性(需要在位移上也有一些变化)。
点击Set Driven Key窗口下的Key键。这是我们可以看到被驱动的骨骼的Rotate Y属性变为桔黄色,已经记录了驱动关键帧。
小帖士:驱动关键帧在maya的骨骼设置中常常会用到,他可以用一个物体的任意属性驱动另一个物体的属性。比如,你可以设置一个球的缩放,驱动另外一个圆柱体在X周上的位移,设置完成后每单你缩放那个小球的时候,圆柱体都会在X轴方向上自动的对应位移。
接下来,我们将翅膀主骨骼jiont03的Rotate Z属性数值旋转为80,并依次将cc_jiont02—07调整到相应的角度、位置(翅膀弯曲时,羽毛会跟随翅膀的运动做相应的位移和旋转),点击Set Driven Key窗口下的Key键。
然后,我们再将jiont03的Rotate Z属性数值旋转为-40,并依次将cc_jiont02—07调整到相应的角度、位置(羽毛的被动位移的位置需要合理调整)。点击Set Driven Key窗口下的Key键。
小帖士:在例子中,我们用相同的方式驱动了其他的所有羽毛,可以让每一片羽毛的运动随着翅膀的不同姿势做自动的跟随。驱动关键帧可以有重叠的相互作用,就是同一个物体可以被不同的物体属性同时驱动。在鸟翅膀的制作中,羽毛的收合需要非常仔细的调整,翅膀部分每一个关节的运动,都会给相邻近的羽毛有影响。
用相同的方式设置翅膀根部和手腕部分同羽毛的驱动后,翅膀部分的设置基本完成。
3 接下来,我们在侧视图里创建身体的骨骼。为了便于查看身体的位置,我们先隐藏了翅膀上的羽毛模型和之前做好的翅膀骨骼。(下图A)
鸟类的身体部分我们大概可以分为四个部分:头和脖子,身体的躯干,腿和爪子,尾巴。
身体的躯干部分因为不会有太多动作,所以我们只需要两节骨骼就可以,root是整个鸟的设置骨架的根关节,腿部关节最后会与它连接。bak是身体胸部的骨骼,两只翅膀的锁骨和脖子的骨骼会与它连接。tail是身体连接尾巴的骨骼,以后鸟的尾部整体扭动的时候,我们会通过旋转这节骨骼实现。下图B
鸟类的头和脖子的运动会比较多,所以在这里我们需要设置足够数量的骨骼。neck01, neck02, neck03为脖子的骨骼点位置,脖子的三节骨骼的长度基本一致,不需要有太多的长短区别,尽量在脖子模型的中间部分,不需要太靠前或靠后。Head是头部骨骼关节,这个关节的位置放在头骨的下部。下图C接下来我们创建腿部和爪子的骨骼。我们还是在侧视图创建骨骼。Leg01和leg02分别是鸟的大腿和小腿骨骼,heel和foot分别是鸟的脚跟和脚掌。(这里的大腿小腿等,可以分别对应人体骨骼,注意鸟类骨骼和人体骨骼的区别)。如图A
我们将maya视图切换到透视图窗口,这是我们可以看见腿部的骨骼并没有和模型匹配,而是在世界坐标空间的YZ轴平面上。如图B我们需要手动的移动、旋转腿部骨骼,让它和腿部模型位置匹配。如图C。(记住在每一次调整完骨骼位置后,要将骨骼的旋转属性数值归零)
小帖士:摄像机的剪切平面可以手动的调整,如在本例子当中,我们将顶视图的摄像机剪切平面调整为:Near Clip Plane=112,Far Clip Plane=1000。这个数值只是在我们的场景里适用,其他场景需要根据模型的实际大小调整。当一根脚趾骨骼的位置调整好后,我们复制出其他的几根脚趾骨骼,并放置在相应的位置。通常情况下,每一根脚趾的长度会不一样,这是我们可以在物体局部坐标模式下,单独的调整每一根脚趾骨骼的长度,与模型匹配。这样可以尽量保持骨骼轴向不会出错。
镜像骨骼的时候,我们用默认的设置,只是要选择镜像的平面,通常的场景都是选择YZ平面镜像,如下图。
小帖士:尾巴部分的骨骼就是在每一片羽毛上建立骨骼,然后添加一些简单的控制,通过驱动关键帧与控制器属性相连接,如张开、收起等。与翅膀部分类似,所以这里不再单独说明。
控制器的制作,要按照特定的动画习惯来做,没有统一的标准。不同的项目和动画制作精度,会对角色控制器的制作有不同的要求。通常情况下,控制器不易太多太复杂,尽量简介概括,这样可以最大限度的提高制作的效率。
在这里,我们在可以满足项目需要的前提下,尽量的简化了鸟的控制器数量,翅膀部分只选择了正向控制(FK),只在锁骨、翅膀跟部和手指部分(拟人化的五根羽毛)建立了控制器。如下图:(为了看着清楚,只显示了翅膀的骨骼和控制器)
上图B部分,手指黄色的控制器,属性通道栏里面的属性相应的控制手指骨骼每一节的旋转。
小帖士:在maya里,我们可以根据自己的需要,任意的添加自定义属性。比如上面的M_z,T_x等属性。通过这些自定义属性,可以把我们需要的控制连接到相应的骨骼上,以便于我们动画师的需要。 到这里,这只鸟的骨骼设置基本就完成了,我们将模型与做好的骨骼系统绑定在一起(SkinàBindSkinàSmooth Bind),调整好蒙皮的权重之后,我们就可以最终完成的整套骨骼设定了,如下图。
小帖士:做骨骼设置的时候,可以在整个骨骼系统完成之后再绑定蒙皮,也可以在骨骼创建好、添加控制器之前绑定蒙皮。通常的做法是在建立好骨骼后,添加控制器之前就绑定蒙皮。因为有一些IK系统在添加到骨骼上之后,会导致骨骼的轻微变形、位移,(线性Spline IK)这样你建立的初始骨骼可能就会和模型不匹配,虽然这只是轻微的变化。













发表评论:
◎欢迎参与讨论,请在这里发表您的提问或看法,交流您的观点。