当前位置导航:炫浪网>>网络学院>>图形图像>>MAYA教程

MAYA教程:简易角色设定

  大多数有关在高阶3D软件上设定角色(一般称为"riggin")的最新信息都较冗长而又很复杂。他们这样做是为了突显软件所具有的工具与技巧,有些的确很有用。但通常只要一些基本的设定过程就够了。           在这个学习范例中我们会以相当快速的方式制作一个二足的角色"Smooth Skinned",然后以Joints与IK决定weight的比例。这个方法是设计用来让你了解rigging的过程,然后让设定好的角色尽快产生动作。我们会用到非常简单的角色模型。从一个基本的几何体开始往下逐一建构,因此不用耽心你的计算机会不会花太长的时间去更新窗口内的复杂对象,因为我们的造型会很简单而快速。

过程1 : Create a Model
 
首先要建构一个角色,尽可能以简单为原则。以polygonal cylinders开始产生身体、两个手臂、与两条腿,以倒过来的cone当做臀部,以spheres当做头部、手与脚。将脚打平,将手指拉出手以外。将这些部位放在一起并使其好像在放松姿势下:膝微微弯曲,双手稍为往下摆,双角贴齐地面。手与脚微弯是很重要的以便让bones更容易产生。

Tip:
当设计角色做动画时,有几点要特别注意的是:
◎较长的脚比较容易在3D空间设计动作。
◎柔软的部位像是马尾、大而垂的耳朵、或触须等可以用来产生辅助用的第二动作以产生更有趣的细部动作。

过程2 : Adding Bones
  
在Side View Panel以Shift + F将画面放在角色的双腿,然后以Joint tool(Skeleton->Joint Tool)从臀部开始,到膝部、到脚踝与脚趾画出腿与脚的骨架。确定在膝与踝都有一点弯曲以便让IK Chain知道你要弯曲的方式(只有在要用到IK时才需要这样做,在此是指腿部)。

当到了脚趾即按下Enter一次以完成这个作业,然后更名之,更名对之后的作业很重要,例如将右腿更名为rLeg比用joint36更有意义也更好记(一一分别改为rLeg、rKnee、rAnkle、rToe)。由于是在Side View Panel设定因此是在YZ 轴,切换到Front View Panel,选择chain的第一级rLeg然后移到定位。  

以Duplicate复制这个Chain成为另一边的腿,记得一一更名为lLeg、lKnee、lAnkle、lToe。当腿部完成后,在臀部中央画出一个小小的ball joint,更名为hip。以Parent将两条腿的Chain成为hip子阶,使其自动产生连接两条腿的新骨架。在hip joint上方再拉出另一个ball joint,更名为Root。这个joint即所有阶层的最高层级,并且会用来移动整个模型。如果不小心画出顺序不正确的joints,只要选择这个Root joint再以Re-Root即可让所有连接的joints重新排序在Root的阶层底下。将hip以Parent指定到Root joint。这时我们有hip与legs就可以独自地移动起来。


  以类似的方法设计手臂的arm joints。

  注意当在既有的joints再设置其它的joints时,有时你可能会不慎选到既有的joints而不是产生新的joints。这时你必须暂时移动既有的joints到旁边以方便作业,但记得完成后要再移回原位。将这些joints一一更名为rArm、rElbow、rWrist、rHand、rFingers、rThumb。然后复制到另一边之后也同样更名为lArm、lElbow、lWrist、lHand、lFingers、lThumb。

  再到Side View Panel从Root joint画出back chain(背骨)。要多少个back chain才够视你自己的需要而定,但一般2到3个应该就够用来产生躯体的变形效果。为了这个简单的角色只要如图使用一个back1就可以让躯体动起来。记得设置一个joint在肩膀shoulders会接触的地方,然后再加另一个在头部会接触的地方,以便让头可以转动而又不会转到肩膀shoulders。将之一一更名为back1、back2、shoulders、neck、head1与head2。完成back与head的chain设置之后以Parent连接到Root joint。然后以Parent将arms 连接到shoulder joint。

过程3 :Inverse Kinematics

  要产生动作的快捷方式之一就是利用IK工具。这IK作用就好像木偶所使用的细绳一样。Inverse Kinematics(转动joints的方式是从末端开始)是Forward Kinematics(转动joints的方式是用手动方式)的相反方法。这也是基于handle的位置来控制joint的移动与转动最好而又快的方式,例如将脚往上或下移动,然后可以看到膝部自动地弯曲。我们只要在腿部设置即可,这可以帮我们让脚定位好而产生腿与脚自然的动作。我一般都不会在手臂设定IK,不过这是我个人的偏好,因为我不希望自己的角色像是傀儡一样的移动。

  在腿部设定IK tool(Skeleton-> IK Handle Tool),在IK Handle Tool的Option内确定设定在ikRPSolver。先点选在leg ball joint,然后点在ankle joint上。这时一个绿色的线条即出现在两个joints之间并串连整个腿部。腿会呈紫色表示已经由IK chain所带动。而在脚踝的底部则有两条线,这就是IK chain的handle。选择这个handle然后四处移动看看。这时膝部应该会弯曲而腿部应该会随着handle移动。在另一条腿也同样设置。

  IK RPSolver的另一功能为Rotate Plane manipulator。选择IK handle,点选Show Manipulator Tool按钮(或用T键)。有一个蓝色的圆圈会出现在IK chain旁边。用这个圆圈就可以如同转动腿一样地转动hip,而改变膝部所指的方向。

  

过程4 : Skinning and Weighting

  这时应该有了一个与角色吻合的完成骨架。确定骨架都设在模型内部,然后就以Smooth Bind Skinning将两者串连在一起。选择整个模型,然后以Shift多重选Root joint(即可选定整个骨架),再以Skin -> Bind Skin -> Smooth Bind使其串连。

  这时角色呈紫色状态而骨架呈绿色即表示这个模型已经由joints所带动。转动joints并移动IK看看以测试结果。

  你可能会注意到有不太满意的变形现象,这是因不正确的weighting所造成,或者模型上的点跟错了骨架。例如当你举起手臂,有时会造成胸部也跟着移动。这是因为软件并不会知道你到底要怎么设置,因此它只是尽可能将weights(即vertex assignment)

  放在最靠近的点上。要改变这个现象就是用以Paint Weights Tool来重新编辑weights。

  Paint Weights Tool是很酷的新工具,可以在模型上面画出joints的影响范围,有点像是PhotoShop的airbrush tool。主要是以灰阶值域设定weight值,其中白色为100%作用在选定的joints上,而黑色为0%则完全无作用。其它数值则是中间地带。

  确定在Perspective View Panel并且在Shaded模式下。选择在左手臂上端的模型(而不是骨架),然后以Skin->Edit Smooth Skin->Paint Skin Weights Tool->option box,此时出现一个编辑器有些选项可设定。自行尝试不同的设定看看。注意整个模型变成全黑状态。

  在Paint Weights tool option box将Value设1.000,然后Paint Operation改为Replace。在Influence之下有一窗口会列出场景的所有Joints清单。点选清单的第一个joint,然后开始往下找到lArm joint。你会注意到模型从黑变为灰,而lArm joint则呈蓝色。

  我们要让整个模型都成为白色而不是灰色。其中一个方法是在当鼠标指针移到定位时以笔刷涂成白色。然而,我们也可以直接以底下的Flood键涂成白色,这可以让整个选定的部位都充满白色,也就是让lArm joint的weight值为100%。其它的joint也用同样的方法设置。

Tip:
  设定这个过程的快速方法就是使用快速键。打开Paint Tool option并显示所有的joints,按下q键以选取所要的模型,然后按下y键以启动上一次的工具(option box会再次呈现Paint Weights tool),点选清单上的任一joint,然后往上或下找到所要的joint。再重复一次:按下q键、选取所要的模型、按下y键、选取所要的joint、执行Flood、按下q键、选取所要的模型、按下y键、选取所要的joint...这样一直进行。

  现在移动所有的部位以测试结果,确定每个部位都正常地移动。有时可能要多几次Flood的动作才会得到满意的结果。

过程5 :Animating的研究

  角色动画是一项冗长又繁复的过程,可能要花上几年的练习才开始领略其奥妙处。只是能在3D的空间移动对象并不会让你成为一为动画专家。其中牵涉到的是艺术的表现,要学习其技巧需要的是用心与耐心。

  除了脚以外的其它部位我比较喜欢用Forward Kinematics的方法设定。这样我才能完全掌握姿势所要表现的角度,即使只是一只手臂的动作也一样。在此只以rotate tool转动joints并移动Root joint以带动角色在空间中的位置。

  当设定动画时先用较大的动作开始进行会比较好,然后再补上一些Overlapping的细部动作。首先移动整个身体:将Root在场景中移动,然后设定脚下IK handles的key frame。然后再移动身体使其产生平衡感而将重心放在正确的地方。然后再设定手臂与头部。最后再加上头发或手部与耳朵的摇摆动作。这是为了让角色出现更生动的细节,而细节都是最后才产生。因此顺序就是Body、Feet、Torso、Arms、Head、Overlapping的细部动作。

  当设定key frame时,在必要处设置timeline,转动joint,然后储存key。在设定好最接近的动作之后,以Graph Editor再设定更细的动作。Graph Editor是一个角色动画「必用」的工具,设定动画时都少不了它。用来观看场景的摄影机设置也很重要。先在纸上勾勒所要的pose与脸部表情然后再以模型来完成,也方便整个动作的设置。当观看动画时,时间是很重要的因素。每次你改变设定时一定要检视一次。以Playblast快速着色出shaded的动画并以正常的速度播放(每秒30画格)。以右键点选timeline以打开Playblast。你已经完成一个简单的角色对象,而且有了joints与IK的功能可以产生动画。只要多练习再复杂的角色也都可以很快地设计出来。这个练习让你学到如何让角色产生动画的设置过程

相关内容
赞助商链接