首页 > 办公 > Maya > 正文

Maya制作逼真的青蛙脸部动画

2020-10-20 19:14:54
字体:
来源:转载
供稿:网友
这个Maya教程非常生动的制作了一个青蛙的面部效果,大家以前来学习一下,希望本教程对大家有所帮助。
  下面教程开始
  首先来看看骨骼控制面部和表情控制器控制面部的优缺点,这里先来分析一下。(图01、图02)
  图01
  图02
  优点:
  1、骨骼是弧线方式动画的,Morph是直线的。
  2、骨骼可以加载额外的控制器,可以手动移动脸部的不同处。
  3、动画师只需调整骨骼就可以控制脸部,而不是脸上的多边形。
  4、骨骼更容易控制脸部体积。如果采用Morph就要确保脸部保持体积和拉伸。
  缺点:
  1、制作时间慢。
  2、不好制作细节,比如皱纹的动画。
  3、骨骼的文件大。
  由于这个青蛙嘴部太大,所以我们使用了骨骼来进行创建更好一些。(图03)
  图03
  我们为眼睛和嘴部创建了骨骼,如下图,这样可以让眼睛做自身的旋转。(图04)
  图04
  Translate、Local Rotate、Scale、Arc Locator Rotation(Pivot)全部来自通道盒。如果有很多关节的话,就会有很广阔的姿势控制。(图05)
  注意:把默认的变换置零很重要。除了使用定位体作为轴心点,我们也要使用关节。这是因为一旦定位就已经被旋转了,它就不能被置零了。
  图05
  在我们的角色里使用83个骨骼,真是很多,24个骨骼在嘴部,9个骨骼在下巴,11个骨骼在每个眼睛上,14个骨骼在每个眉毛和面颊,轴心点放在眼睛的中部和头部中部(对于嘴部和下巴的关节)。
  当骨骼各自旋转和移动时,发现我们可以做出很多表情。用滑块控制骨骼姿势,我们倾向于避免使用滑块,因为直接从通道盒点击属性然后用中键在视图中拖动更容易,很像滑块,但是占用更少的空间。
  创建很多表情。例如微笑、皱眉、扮鬼脸。可以混合和分别控制。结果看起来我们在使用Blend Shape其实只是混合骨骼姿势。那么我们如何创建骨骼姿势及其属性?我们成组我们需要分别动画的元素。
  eyelid_l(左眼皮)
  eyelid_r(右眼皮)
  brow_l(左眉毛)
  brow_r(右眉毛)
  mouthexpression(嘴部表情)
  mouthlipsync(嘴唇)
  cheeks(面颊)
  把脸部两边分开控制是很重要的。如果脸部不是对称的会看起来更加自然。为每个元素创建一个空组(或者定位体或曲线)。在通道盒里我们去除了组的变换属性(Rotate xyz Translate xyz等等)为形状节点增加了属性。
  每个属性的取值范围从0到10,对于中键点击然后拖动比较有效。有些属性是从-10到10,如果它们有双重属性比如上和下。举个粒子,对于mouth Expresion的通道盒如下。(图06)
  图06
  为了便于选择,我们使用MEL命令创建了按钮,并放在工具架上。命令如下:* -tge mouth_expression;-tgl,选择固定的,也就是我们可以同时选择眼睛和眉毛来动画。但是这些控制如何来影响脸部表情呢?我们采用设置驱动关键帧的方法去链接属性。(图07)
  图07
  我们需要做的就是加载控制,比如mouth Expresion作为驱动,然后单击我们需要的属性(比如微笑),我们加载需要的骨骼作为被驱动,单击他们的属性。
  需要确定的是骨骼都在默认位置,属性都为零,然后单击key保存姿势在0,改变驱动的属性到极值,现在移动旋转,达到我们需要的表情,单击key储存姿势。
  一旦我们为不同的表情做完了类似的工作,我们就开始做动画。因为驱动关键帧可以混合重叠,所以我们做的是跟Blend Shape同样的工作。(图08)
  图08
  在某些场合,骨骼变形不能达到我们期望的效果,我们就会加一些小的Blend Shape(morph)来控制姿势。用驱动关键帧链接Blend Shape 到相应的骨骼姿势属性。这样一个属性可以同时控制骨骼和Blend Shape。(图09)
  图09
  手动控制,在一些场景,需要独立的控制个别骨骼。不幸的是,驱动关键帧已经使它们丧失了设置关键帧的能力。对于这个问题,就是在设置驱动关键帧之前就设置关键帧了。(图10)
  图10
  除了这个,就是做两个层级,一个额外的定位体和一个轴心定位体。驱动关键帧控制被驱动的物体,而我们也可以手动设置关键帧于我们想要的物体。(图11)
  图11
  开始动画,为融和权重节点的输入设置的关键帧,这是因为姿势变得很奇怪。当驱动关键帧创建时融和权重节点放在被驱动的物体上。可以在属性编辑器里看到他们的输入。不管怎样,有些输入会解放他们的关键帧。我们最后发现可以手动使用MEL语言解决这个问题:*keyframe -at input6 -v 0 blendweighted372;记住要把6和372换成实际的数字。这种问题其实还是很少见的。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表