下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

教你如何用Maya进行脸部角色装配

作者:课课家教育     来源: http://www.kokojia.com点击数:1502发布时间: 2016-03-23 10:48:07

标签: Maya动画设计动画制作Maya动画

想学设计?来看看大师是如何完成作品的?

  在动画制作中,经常会遇到需要进行动画角色脸部装配的情形,本篇教程将教你用Maya进行脸部角色装配。老规矩先来看看效果图:

教你如何用Maya进行脸部角色装配_Maya动画设计_动画制作_Maya动画_课课家

  Cane-Toad的项目使用骨骼驱动面部动画(和角色创建大师一样哦)我们认为,我们要试一试有别于morphshape(blendshape)的方法。

  我们的问题是角色的巨大的嘴。我们希望嘴能够富于表情并且易于动画。Morph物体对于小嘴能起到很好的作用,但是对于大块形状的物体就会引起混乱。到了这个项目结束时,我们很庆幸我们当初的选择是对的。

  骨骼也就是Maya中称之为关节的(joint)只是能够成组的一些点,其中权重是衰减的。我们没有使用cluster是因为骨骼易于绘画权重,基本上都是优先选择的。

  下面是我们发现用骨骼驱动面部的优缺点。

  优点:

  -骨骼可以以弧线方式动画如果以其他物体为枢纽的话(比如下颚)因为肌肉在面部皮肤下滑动,所以它们通常以弧线运动而不是像morph一样是直线的。一个例子就是眼皮的运动。

  -骨骼可以加载额外的控制包括tweakonashotbyshotbasis和独立手动地移动脸部的不同部分。

  -脸部表情将会更快更容易的创建。动画工作人只要处理少量的骨骼而不是大量的点。

  -因为骨骼是以权重组来控制点的,所以更容易维持体积。如果采用morph就要确保脸部保持体积和拉伸度。

  缺点:

  -创建几个好的装配是一项枯燥并且复杂的事。

  -因为骨骼是控制一组点的,所以难以做出细节比如皱纹。

  -骨骼储存有驱动帧会增加文件大小。我不知道这是为什么。我们的装配完成后大小变成了12m。

  为什么不同时使用两种办法?不知为何,我们不能混合两种方法以在两种空间里达到最好。两种基础被同时控制而我们只有一组属性做动画。骨骼起主要作用,而blendshapes搅乱了细节。那么交互的速度如何?

  我们很惊讶的发现速度根本不是问题,起变形的速度大致更blendshapes一样快。我们实验过其他的变形方式如线,但是他们都没有提供足够的控制并且很慢。

  其它使用骨骼的理由:

  我们使用骨骼是因为角色的大嘴,我们可以很容易的移动嘴边的骨骼。如果使用blendshapes就是枯燥的选择大量的点编辑。

  在这个项目里,骨骼运作良好,但是我不能确定其它的角色尤其是需要快速装配的角色也是如此。

  艺术的重要性:

  我们知道是艺术能力试我们的角色面部动画看起来正确。为了取得帮助,我们阅读了GaryFaigain's书'TheArtistsCompleteGuidetoFacialExpressions'。其中解释了脸部肌肉是如何运动的以及艺术家如何用这些只是创建表情。

  那么在脸部系统里我们需要什么?

  -可以以弧线方式运动而不是直线运功的骨骼以模仿滑动的皮肤

  -能够独立和整体的控制骨骼。

  -能够组合各种骨骼姿势并且这些姿势是独立的。比如有些皱眉和一些鬼脸。

  -我们需要用骨骼混合morph目标(blendshapes)使我们能够精确控制脸部确定区域。

  这只蛤蟆的脸很圆,所以我们简单的父话每个关节到自己的定位体以创建一个轴心点。这样给人以皮肤滑动的效果。

  举个例子,每个眼皮关节就有自己的放置在眼镜中间的轴心定位体。骨骼就会在眼镜表面滑动。嘴部关节有它们的定位体在头部中央。

  下面,我们希望减少动画的物体。如果能够动画两个物体,工作效率会加倍。所以我们把一些定位体的控制加在了骨骼上。我们加了两个额外的属性。使用connectioneditor链接定位体的x和y的旋转属性到这些新属性。(我们没有链接z时因为我们使用骨骼自己的z旋转属性转动)现在每个关节有自己的控制了。

  我们可以控制下列属性:

  -translate

  -localrotate

  -scale

  -arclocatorrotation(pivot)

  全部来自通道盒。如果有很多关节的话,就会有很广阔的姿势控制。

  注意:对于所有的装配,把默认的变换置零很重要。除了使用定位体作为轴心点,我们也要使用关节。这是以为一旦定位体已经被旋转了,它就不能被置零了(freezetransforms)

  在我们的角色里使用了多少关节?一共时83个骨骼,回头看看真是很多:)大多数骨骼可以被复制和旋转以快速放置。24个骨骼在嘴部,9个骨骼在下巴,11个骨骼在每个眼睛上,14个骨骼在每个眉毛和面颊,轴心点放在眼睛的中部,和头部中部(对于嘴部和下巴的关节)其他的放置在需要的地方(屁话)当骨骼各自旋转和移动时,我们发现我们可以做出很多表情。用滑块控制骨骼姿势。我们倾向于避免使用滑块。因为直接从通道盒点击属性然后用中键在视图中拖动更容易。很像滑块,但是占用更少的空间。

  我们想创建很多表情。例如微笑、皱眉、扮鬼脸。可以混合和分别控制。结果看起来我们在使用blendshapes其实只是混合骨骼姿势。那么我们如何创建骨骼姿势及其属性?我们成组我们需要分别动画的元素。

  -EyeLid_L(左眼皮)

  -EyeLid_R(右眼皮)

  -Brow_L(左眉毛)

  -Brow_R(右眉毛)

  -MouthExpression(嘴部表情)

  -MouthLipsync(嘴唇)

  -Cheeks(面颊)

  把脸部两边分开控制是很重要的。如果脸部不是对称的会看起来更加自然。为每个元素创建一个空组(或者定位体或曲线)。在通道盒里我们去除了组的变换属性(rotatexyztranslatexyz等等)为形状节点增加了属性。每个属性的取值范围从0到10,对于中键点击然后拖动比较有效。有些属性是从-10到10如果它们有双重属性比如上和下。举个粒子,对于mouthexpresion的通道盒如下。

  为了便于选择,我们使用mel命令创建了按钮,并放在工具架上。命令如下:select-tgemouth_Expression;-tgl选择固定的,也就是我们可以同时选择眼睛和眉毛来动画。但是这些控制如何来影响脸部表情呢?我们采用设置驱动关键帧的方法去链接属性。

  我们需要做的就是加载控制比如“mouth_expression”作为驱动然后单击我们需要的属性比如微笑,然后我们加载需要的骨骼作为被驱动,然后单击他们的属性。需要确定的是骨骼都在默认位置,属性都为零,然后单击“key”保存姿势在0;然后改变驱动的属性到极值;现在移动旋转使达到我们需要的表情;单击“key”储存姿势。一旦我们为不同的表情做完了类似的工作,我们就开始做动画。因为驱动关键帧可以混合重叠,所以我们做的是跟blendshapes同样的工作。

  细节呢?在某些场合,骨骼变形不能达到我们期望的效果。我们就会加一些小的bledeshape(morph)来控制姿势。用驱动关键帧链接blendshape到相应的骨骼姿势属性。这样一个属性可以同时控制骨骼和blendeshape。

  手动控制。在一些场景,需要独立的控制个别骨骼。不幸的是,驱动关键帧已经是它们丧失了设置关键帧的能力。对于这个问题,就是在设置驱动关键帧之前就设置关键帧了。但是参考文件会剔除这项能力)。

  除了这个,就是做两个层级,一个额外的定位体和一个轴心定位体。驱动关键帧控制被驱动的物体,而我们也可以手动设置关键帧于我们想要的物体(就是那个额外的定位体吧)。

  驱动关键帧的问题,我猜这个系统限制使用驱动关键帧。有的时候我们必须解放(解放?不知如何翻译)为融和权重节点的输入设置的关键帧,这是因为姿势变得很奇怪。当驱动关键帧创建时融和权重节点放在被驱动的物体上。可以在属性编辑器里看到他们的输入。不管怎样,有些输入会解放他们的关键帧。我们最后发现我们可以手动使用mel语言解决这个问题:setKeyframe-atinput[6]-v0blendWeighted372;记住要把6和372换成实际的数字。这种问题其实还是很少见的。

  其他的技术。除了使用轴心点控制每个骨骼,我不明白为什么你们不可以使用曲线动画来控制每个骨骼。这样会有一些复杂,但是会有更多的控制。

赞(29)
踩(0)
分享到:
华为认证网络工程师 HCIE直播课视频教程