蛤蟆装配 骨骼绑定_第1页
蛤蟆装配 骨骼绑定_第2页
蛤蟆装配 骨骼绑定_第3页
蛤蟆装配 骨骼绑定_第4页
蛤蟆装配 骨骼绑定_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、蛤蟆的脸部装配翻译教程,原文的链接cane-Toad 的项目使用骨骼驱动面部动画(和角色创建大师一样哦)我们认为,我们要试一试有别于morph shape(blend shape)的方法。我们的问题是角色的巨大的嘴。我们希望嘴能够富于表情并且易于动画。Morph物体对于小嘴能起到很好的作用,但是对于大块形状的物体就会引起混乱。到了这个项目结束时,我们很庆幸我们当初的选择是对的。骨骼也就是maya中称之为关节的(joint)只是能够成组的一些点,其中权重是衰减的。我们没有使用cluster是因为骨骼易于绘画权重。基本上都是优先选择的。下面是我们发现用骨骼驱动面部的优缺点。优点:骨骼可以以弧线方式

2、动画如果以其他物体为枢纽的话(比如下颚)因为肌肉在面部皮肤下滑动,所以它们通常以弧线运动而不是像morph一样是直线的。一个例子就是眼皮的运动骨骼可以加载额外的控制包括tweak on a shot by shot basis和独立手动地移动脸部的不同部分。脸部表情将会更快更容易的创建。动画工作人只要处理少量的骨骼而不是大量的点。因为骨骼是以权重组来控制点的,所以更容易维持体积。如果采用morph就要确保脸部保持体积和拉伸度。缺点:创建几个好的装配是一项枯燥并且复杂的事。因为骨骼是控制一组点的,所以难以做出细节比如皱纹。骨骼储存有驱动帧会增加文件大小。我不知道这是为什么。我们的装配完成后大小变

3、成了12m。为什么不同时使用两种办法?不知为何,我们不能混合两种方法以在两种空间里达到最好。两种基础被同时控制而我们只有一组属性做动画。骨骼起主要作用,而blend shapes搅乱了细节。那么交互的速度如何?我们很惊讶的发现速度根本不是问题,起变形的速度大致更blend shapes一样快。我们实验过其他的变形方式如线,但是他们都没有提供足够的控制并且很慢。其它使用骨骼的理由我们使用骨骼是因为角色的大嘴,我们可以很容易的移动嘴边的骨骼。如果使用blend shapes就是枯燥的选择大量的点编辑。在这个项目里,骨骼运作良好,但是我不能确定其它的角色尤其是需要快速装配的角色也是如此。艺术的重要性

4、我们知道是艺术能力试我们的角色面部动画看起来正确。为了取得帮助,我们阅读了Gary Faigains 书The Artists Complete Guide to Facial Expressions。其中解释了脸部肌肉是如何运动的以及艺术家如何用这些只是创建表情。 那么在脸部系统里我们需要什么?可以以弧线方式运动而不是直线运功的骨骼以模仿滑动的皮肤能够独立和整体的控制骨骼能够组合各种骨骼姿势并且这些姿势是独立的。比如有些皱眉和一些鬼脸。我们需要用骨骼混合morph目标(blend shapes)使我们能够精确控制脸部确定区域。最重要的是角色装配要在动画时易于使用(金玉良言)好了好了,那么我们

5、如何做呢?这只蛤蟆的脸很圆,所以我们简单的父话每个关节到自己的定位体以创建一个轴心点。这样给人以皮肤滑动的效果。举个例子,每个眼皮关节就有自己的放置在眼镜中间的轴心定位体。骨骼就会在眼镜表面滑动。嘴部关节有它们的定位体在头部中央。下面,我们希望减少我们动画的物体。如果能够动画两个物体,工作效率会加倍。所以我们把一些定位体的控制加在了骨骼上。我们加了两个额外的属性。使用connection editor链接定位体的x和y的旋转属性到这些新属性。(我们没有链接z时因为我们使用骨骼自己的z旋转属性转动)现在每个关节有自己的控制了。我们可以控制下列属性translatelocal rotatescal

6、earc locator rotation(pivot)全部来自通道盒。如果有很多关节的话,就会有很广阔的姿势控制。注意:对于所有的装配,把默认的变换置零很重要。除了使用定位体作为轴心点,我们也要使用关节。这是以为一旦定位体已经被旋转了,它就不能被置零了(freeze transforms)在我们的角色里使用了多少关节?一共时83个骨骼,回头看看真是很多:)大多数骨骼可以被复制和旋转以快速放置。24个骨骼在嘴部9个骨骼在下巴11个骨骼在每个眼睛上14个骨骼在每个眉毛和面颊轴心点放在眼睛的中部,和头部中部(对于嘴部和下巴的关节)其他的放置在需要的地方(屁话)当骨骼各自旋转和移动时,我们发现我们可

7、以做出很多表情。用滑块控制骨骼姿势。我们倾向于避免使用滑块。因为直接从通道盒点击属性然后用中键在视图中拖动更容易。很像滑块,但是占用更少的空间。 我们想创建很多表情例如微笑、皱眉、扮鬼脸。可以混合和分别控制。结果看起来我们在使用blend shapes 其实只是混合骨骼姿势。那么我们如何创建骨骼姿势及其属性?我们成组我们需要分别动画的元素。EyeLid_L(左眼皮)EyeLid_R(右眼皮)Brow_L(左眉毛)Brow_R(右眉毛)MouthExpression(嘴部表情)MouthLipSync(嘴唇)Cheeks(面颊)把脸部两边分开控制是很重要的。如果脸部不是对称的会看起来更加自然。为

8、每个元素创建一个空组(或者定位体或曲线)。在通道盒里我们去除了组的变换属性(rotate xyz translate xyz等等)为形状节点增加了属性。每个属性的取值范围从0到10,对于中键点击然后拖动比较有效。有些属性是从10到10如果它们有双重属性比如上和下。举个粒子,对于mouth expresion的通道盒如下。 为了便于选择,我们使用mel命令创建了按钮放在工具架上。命令如下:select -tge mouth_Expression;tgl就是选择固定也就是我们可以同时选择眼睛和眉毛来动画。但是这些控制如何来影响脸部表情呢?我们采用设置驱动关键帧的方法去链接属性。 我们需要做的就是加

9、载控制比如“mouth_expression”作为驱动然后单击我们需要的属性比如微笑,然后我们加载需要的骨骼作为被驱动,然后单击他们的属性需要确定的是骨骼都在默认位置,属性都为零,然后单击“key”保存姿势在0然后改变驱动的属性到极值现在移动旋转使达到我们需要的表情单击“key”储存姿势。就这样!一旦我们为不同的表情做完了类似的工作,我们就开始做动画。因为驱动关键帧可以混合重叠,所以我们做的是跟blend shapes同样的工作。 细节呢?在某些场合,骨骼变形不能达到我们期望的效果。我们就会加一些小的blede shape(morph)来控制姿势。用驱动关键帧链接blend shape 到相应

10、的骨骼姿势属性。这样一个属性可以同时控制骨骼和blende shape。 手动控制在一些场景,需要独立的控制个别骨骼。不幸的是,驱动关键帧已经是它们丧失了设置关键帧的能力。对于这个问题,就是在设置驱动关键帧之前就设置关键帧了。但是参考文件会剔除这项能力(不太懂) 除了这个,就是做两个层级,一个额外的定位体和一个轴心定位体。驱动关键帧控制被驱动的物体,而我们也可以手动设置关键帧于我们想要的物体(就是那个额外的定位体吧)。 开始动画!下面是一段Dazzas骨骼动画。就这样!文件驱动关键帧的问题我猜这个系统限制使用驱动关键帧。有的时候我们必须解放(解放?不知如何翻译)为融和权重节点的输入设置的关键帧

11、,这是因为姿势变得很奇怪。当驱动关键帧创建时融和权重节点放在被驱动的物体上。可以在属性编辑器里看到他们的输入。不管怎样,有些输入会解放他们的关键帧。我们最后发现我们可以手动使用mel语言解决这个问题:setKeyframe -at input6 -v 0 blendWeighted372;记住要把6和372换成实际的数字。这种问题其实还是很少见的。其他的技术除了使用轴心点控制每个骨骼,我不明白为什么你们不可以使用曲线动画来控制每个骨骼。这样会有一些复杂,但是会有更多的控制。 有兴趣,到那个网站下载那个动画,很有意思,做得也很棒。蛤蟆的肩部装配翻译教程,原文地址肩部动画是个必要令人头疼的地方,如

12、果这个地方变形自然,其他地方就不在话下。来看看老外是如何处理的,这是我的第二篇翻译教程,如果有一些不太懂的地方,尽量看图吧,会加深理解的。如何达到真实的肩部变形。在角色装配中,肩部变形因为运动的范围很广泛,所以是最令人头疼的地方。当我第一次装配我的肩部,总是绞在一起或者散架。我曾经很惊讶别人的肩部变形很好【我也是】。在早年间我学得了一些技巧来处理肩部。在这个CaneToad的影片中,我们就可以让肩部变形得很好。网格的重要性。第一个要点是肩部建模的网格拓扑。我们发现如果让边环绕肩部,在腋窝下汇集,在肩部的顶部张开会很有帮助。(在肩部提起或者放下时)。别忘记锁骨我们需要牢记,锁骨在肩部抬起时起了一

13、个很重要的作用。事实上,如果不是锁骨,我们无法把手臂抬起到头部。(有些装配让肩部和锁骨的关系自动化【就是用驱动关键帧之类,我就这么干】,我们选择手动动画,如果你自动化锁骨的运动,最好能够为这个功能设置开关) 二头肌的扭动关键要点?众所周知,前臂在自己的轴心转动,当手在自己轴心转动。二头肌也是这样运动的大家就知道不多了。我们发现当我们旋转肩部,在肩部顶部的皮肤保持不动。另外,the top of our shoulders would point back behind us,当我们转动手臂百出一个典型的强壮的姿势。与此不同的是,我们发现上臂运动方式和前臂一样,拧转均匀的从肘部分布到肩部。拧转在

14、人体的多处地方发生比如颈部,大腿,前臂和腓。当拧转发生时,肌肉趋向保持它们的体积。在3d中,因为点绑定到关节的数学计算,绞动会发生在两个骨骼拧转时。 我们的角色装配使用了两个额外的关节放置在肩部和肘部之间来帮助在拧转时保持体积。 要点是要让这些关节转动自动化。我们如何为CaneToad的关节设置自动化?制作额外的关节的理念关键在于“控制物体”使得它们运动得像肩膀,但是要能够选择性地调整自己的旋转属性于肩部和两个二头肌关节。我们选择关节而不是定位体或者网格物体来控制。理由是可以方便地匹配肩部关节的方向(orientation)这个控制关节没有绑定到皮肤*这个必须编辑maya的自身旋转轴我们的角色

15、装配把拧转分布给三个骨骼。 x旋转轴是拧转的轴向,它旋转的值一分为二给了bicepA和bicepB。这个简单的链接意味着肩部关节转动0,bicepA转动50,bicepB转动100【注,bicep就是二头肌的意思,这两个是额外的关节】只要改变分配值,更多的骨骼可以简单加入。那么在maya中我们怎么做?首先,我们创建了一个绑定的骨架(已经含有额外的二头肌关节)一旦创建好,复制层级,删除新骨架,除了肩部根部的关节。这个新的关节将会成为我们的肩部控制关节(shoulderControlJoint)。我们旋转个这个关节而不是皮肤或者父物体。它的旋转和位置完全匹配肩部关节。 为了避免混淆,我们把两个关节

16、放置在同一个位置。shoulderJoint(肩部关节)和shoulderControlJoint(控制关节)肩部控制关节的旋转就被分离开控制肩部关节,二头肌关节(bicepJointA bicepJointB和第五张图一样)如何用控制关节控制骨架?使用链接编辑器(connection editor)链接肩部控制关节的zy轴到相应被控制关节。 然后就是把肩部控制的x平分到bicepJointA和bicepJointB。如何平分x旋转值?【老外的废话好多:)】可以使用简单的表达式来做,但是更加容易和快速的方法是使用乘除节点(multiply/divide)。 使用hypershade链接复杂?不

17、是这回事?做法如下1。选择你需要链接旋转属性的物体,肩部控制关节和二头肌关节(bicepJointA bicepJointB)2。打开hypershade3。点击显示上下游连接的按钮(show upstream and downstream connections)来显示肩部控制关节和二头肌关节【直接做好像不行,你从outline里拖进去吧】4。创建乘除节点“multiply Divide”5。改变imput2为0.56。中键拖动链接肩部控制关节RotateX属性到乘除节点的Input1X7。链接乘除节点的OutputX到每一个二头肌关节的Rotate x 现在两个二头肌关节都只旋转一般的值了

18、。下面是一个场景文件。文件最后的要点要注意两件事。首先,所有的maya旋转使用Euler旋转【一种插值运算吧,到帮助里找找】我们需要理解Euler【欧拉】旋转是如何工作的和Gimbal Lock【万向节锁定,在旋转工具设置里】是如何发生的。原因是有可能转动不会与x旋转值对应【我经常遇到,三个值一起变,虽然只是在试图中旋转一个方向】,要确保关节的旋转次序rotation order设置为xyz或者xzy(如果拧转的轴向是x轴的话)rotation order可以在属性编辑器里修改,在物体的第一个标签里(变换节点transform node)在变换属性的那一栏(“transform attribu

19、tes”),重要的是,对于所有的装配和动画,你要理解欧拉旋转和万向节锁定。【看帮助吧,或者其他的文档,不是太好懂,知道怎么做就差不多了】 肩膀的IK/FK开关你可以把这个骨架加上ik和fk。我实际上还做了第四个骨架,叫做绑定骨架the bind skeleton以从切换ik和fk的骨架获得信息。对我们来说比较简单这样我们就有如下四个骨架IK arm(IK手臂)FK arm(FK手臂)Switch arm(切换ik和fk的骨架)Bind arm(绑定骨架,就是我们上面建立的骨架,有额外的二头肌关节。它从切换手臂骨架获得信息,【就是受切换骨架控制】)【这个教程大概用是maya早期的版本,现在不用这

20、么麻烦,有直接切换ik和fk的功能,只要绑定骨架就够了】我们所知道的问题一个问题是,如果肩部关节达到万向节锁定,有时关节会突然翻转180度。我不知道这个如何发生的(maya的bug?)但是如果你用万向节旋转手柄一次旋转一个轴向,就可以解决这个问题【是地,我一般先把旋转复位,然后重新旋转】 我再总结一下一个是建模,注意布线一个是锁骨,变形是要考虑的一个是转动,采用额外的骨骼,均匀分担旋转值以保持体积蛤蟆装配完结篇这个是我对于这两个蛤蟆翻译的最后的教程了。这片讲的是角色的装配,讲了一些要点,对于前面两篇也有一些总结作用总的来说技术含量不是很多,有兴趣你可以看看,还是有一些收获的下面是原文地址Can

21、e-Toad的角色装配装配的提纲创建一个装配很像装一个简单的工作起来像木偶的机器。我知道很多人把角色装配看作是繁重的家务。我同意这是个家务。但是一点都不难(只是有一些枯燥)【确实,繁重,但是其实还是很简单的】。幸运的是,艰苦的工作在最后会得到回报。我希望未来有很多自动化的方式创建自定义装配。【现在有很多mel,maya的免费的工具包bonus tools是个不错的选择,可以一下子创建手脚和背部的装配】我们的装配Dave和我都认为我们的角色装配会让我们的动画更加容易。创建一个不会在后来的工作增加负担的装配是很重要的。我们的装配是在maya中完成的。在我们的装配中,我们需要做到如下几点简单的控制能够快速的播放动画【交互要快】在不同的场合可以切换装配为变形设置自动的驱动控制要易于选择和移动【很多人用很多圈圈,眼睛都花了,我喜欢用丰富的nurbs图标】技术部分我和Dave都不是技术人员。所以对于CaneToad我们要找到简单的办法来创建尽可能控制角色的装配。我们没有使用表达式,而是依赖驱动关键帧,直接的链接属性和一些简单的节点来应付更加复杂的装配。这些都是很容易学习和理解的。而且maya在解算这些比mel和表达式快所以知道很少的mel也是没有关系的。 具体细节下面是一些技术要点【终于到正题了】用多边形建模(因为他们比细分快),动画时不要光滑。在渲染时

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论