当前位置: > 3dmax模型制作 > Maya教程 >

Maya中的"装备"Rigging介绍 - 第8部分 - 手指和拇指的装配
栏目分类:Maya教程   发布日期:2019年05月09日 09:07:01   浏览次数:


 Maya中的"装备"Rigging介绍 - 第8部分 - 手指和拇指的装配

Jahirul Amin的最新Maya教程侧重于操纵手指,提供深入的书面指导

教程资产

单击此处下载本教程附带的资产

介绍

在本教程中,我们将添加所有控件以构成手指,并通过添加扭曲它的能力来完成腿部。利用我们为每个控件创建的层次结构,我们可以为动画师添加功能层,为他们提供最佳决定他/她想要动画的选择。第一级控制将让动画师在一次击中中摆出所有手指。允许动画师快速简单地创建姿势在动画的阻塞阶段非常有用,当粗略思考时。第二级控制将允许动画制作者单独地构成每个手指或拇指,并且最终控制级别将单独地构成每个指骨。(趾骨是手指或脚趾的独立骨骼)。这两个后面的控制层允许动画师改善姿势,

我们将创建一个新控件来容纳所有属性以首先构造手指,然后通过Set Driven Key工具驱动运动。如果你还没有习惯这个工具,我认为那个时刻已经来临,所以准备应对SDK级别的疯狂。

完成腿部


我在上一个教程中忘记添加的东西是能够扭转IK腿的能力,所以在我们照顾手指之前让我们这样做。首先选择l_leg_IK_ctrl并转到Window> General Editors> Connection Editor。这应该将l_leg_IK_ctrl弹出到Outputs列。现在选择l_leg_IK并在Connection Editor窗口中点击Reload Right。在“输出”列中,突出显示“legTwist”,然后在“输入”列中突出显示“扭曲”。重复右腿的步骤。

添加扭曲IK腿的能力

添加扭曲IK腿的能力

为了保持一致性,我接下来要做的是在使用r_leg_IK_ctrl和r_leg_IK_ctrl中的rotX,rotY和rotZ属性扭转IK脚时编辑当前设置。我们上次离开它时,在选择两个控件时使用rotY属性导致两个脚在同一方向上旋转,使用rotZ属性进行扭转。为了解决这个问题,我选择了l_ankle_loc和r_ankle_loc,突出显示了两个定位器的旋转通道,按住了RMB并进入了Break Connections。接下来,我在表达式编辑器中创建了以下表达式:

l_ankle_loc.rotateX = l_leg_IK_ctrl.rotX; 
l_ankle_loc.rotateY = l_leg_IK_ctrl.rotY; 
l_ankle_loc.rotateZ = l_leg_IK_ctrl.rotZ; 

r_ankle_loc.rotateX = r_leg_IK_ctrl.rotX;
r_ankle_loc.rotateY = r_leg_IK_ctrl.rotY * -1; 
r_ankle_loc.rotateZ = r_leg_IK_ctrl.rotZ * -1; 

您可以将其创建为一个表达式,或者像我一样将左侧与右侧分开。使用rotY和rotZ属性尝试结果,你应该看到差异。

在扭曲IK脚部控件时使用表达式获得一致的行为

在扭曲IK脚部控件时使用表达式获得一致的行为

创建手指控件

在俯视图中,使用CV曲线工具(曲线度设置为3立方)绘制手掌。然后使用CV曲线工具分别围绕每个手指和拇指绘制。您现在应该在透视视图中的网格上有6种不同的曲线形状。快速进入并相应地命名它们:l_thumb_ctrl,l_index_ctrl,l_middle_ctrl,l_ring_ctrl,l_pinky_ctrl和l_fingers_ctrl(手掌形状)。

现在选择l_thumb_ctrl,l_index_ctrl,l_middle_ctrl,l_ring_ctrl,l_pinky_ctrl并将它们置于l_fingers_ctrl下。选择l_fingers_ctrl后,转到“修改”>“中心轴”,然后对其进行定位,缩放和旋转,使其与手形几何图形紧密相关。如果对放置感到满意,请转到“修改”>“冻结转换”以整理“通道盒”,并使用“属性编辑器”中的“绘制覆盖”为其指定绿色。然后在l_palm_ctrl下面的父l_fingers_ctrl,这样它将跟随手。最后要做的是在“通道盒”中:突出显示所有新控件的所有“平移”,“旋转”和“缩放”属性,然后选择“人工>锁定和隐藏选定”。我们将在下一步中添加一些自定义属性。

手指控制的设置

手指控制的设置

添加手指属性

首先选择l_fingers_ctrl,然后在“通道”框中单击“修改”>“添加属性”或“编辑”>“添加属性”。以下是我添加到此控件的属性的细分:



现在选择l_thumb_ctrl,l_index_ctrl,l_middle_ctrl,l_ring_ctrl,l_pinky_ctrl并转到Modify> Add Attribute并添加以下内容:

向手指控件添加属性

向手指控件添加属性

创造手指卷曲

通过Animate> Set Driven Key> Set打开SDK窗口。选择l_fingers_ctrl后,单击“加载驱动程序”按钮。我们现在需要选择在创建控件层次结构时创建的所有_auto节点,以使控件成为驱动对象。重要的是,我们现阶段不要在动态视图中使用动画控件。这里是_auto节点列表选择要创建手指卷曲:l_thumbA_ctrl_auto,l_thumbB_ctrl_auto,l_thumbC_ctrl_auto,l_indexA_ctrl_auto,l_indexB_ctrl_auto,l_indexC_ctrl_auto,l_indexD_ctrl_auto,l_middleA_ctrl_auto,l_middleB_ctrl_auto,l_middleC_ctrl_auto,l_middleD_ctrl_auto,l_ringA_ctrl_auto,l_ringB_ctrl_auto,l_ringC_ctrl_auto,l_ringD_ctrl_auto,l_pinkyA_ctrl_auto,l_pinkyB_ctrl_auto, l_pinkyC_ctrl_auto,最后是l_pinkyD_ctrl_auto。唷。

如果我们需要再次进行选择,选择_auto节点,请转到创建>集>快速选择集,为其命名并单击确定。您现在可以在“大纲视图”(Outliner)中找到选择集。到达层次结构中的_auto节点或任何其他节点的另一种方法是使用pickwalking。只需在视口中选择必要的控制曲线,然后单击键盘上的向上箭头。因此,选择_auto节点后,点击SDK窗口中的Load Driven按钮。

创建快速选择集,以便我们快速查找并选择必要的节点

创建快速选择集,以便我们快速查找并选择必要的节点

在SDK窗口中,突出显示右上方框中的“卷曲”,突出显示左下方框中的所有_auto节点,然后在右下方框中突出显示“旋转X”(创建手指卷曲的轴)。一切都应该是默认姿势,如果没有,则将_auto节点的所有旋转值和l_fingers_ctrl上的Curl属性归零。准备好后,点击SDK窗口上的Key。现在,在l_fingers_ctrl上将Curl属性增加到10,并仅对所有_auto节点使用Rotate X属性来创建拳头姿势。一旦你在SDK窗口中有姿势点击键。现在,在l_fingers_ctrl上将Curl属性降低到-10,并使用每个_auto节点的Rotate X属性向相反方向卷曲手指。快速说明:在这里摆放拇指,我使用了旋转X和旋转Z的组合。这可能是一种非常不自然的姿势,但在创建快速移动时它可能很有用。一旦你对这个姿势感到满意,再次点击SDK窗口上的Key。

您现在应该能够使用Curl属性驱动从一个姿势到另一个姿势的转换。要使用此属性或“通道盒”中的任何其他属性,我发现更容易突出显示属性词,然后在视口中鼠标拖动以交互方式编辑值。

使用“设置驱动密钥”工具来驱动新创建的属性

使用“设置驱动密钥”工具来驱动新创建的属性


创造嘎吱嘎吱声

确保所有内容都恢复为默认姿势,以便我们可以添加scrunch姿势。描述这个姿势很难,所以要好好看看这些图像。如果我必须解释它,我会说如果你要用手指抓住黑板,那就是你需要的姿势。为此,我们并不需要包括掌骨关节所以才考虑以下的SDK窗口作为驱动对象:l_thumbB_ctrl_auto,l_indexB_ctrl_auto,l_indexC_ctrl_auto,l_indexD_ctrl_auto,l_middleB_ctrl_auto,l_middleC_ctrl_auto,l_middleD_ctrl_auto,l_ringB_ctrl_auto,l_ringC_ctrl_auto,l_ringD_ctrl_auto,l_pinkyB_ctrl_auto,l_pinkyC_ctrl_auto最后l_pinkyD_ctrl_auto。 

这一次在SDK窗口的右上方框中,突出显示Scrunch; 在左下角窗口中,突出显示所有_auto节点,在右下角窗口中再次突出显示Rotate X.Hit Key以创建默认姿势。现在,在l_fingers_ctrl上将Scrunch值弹出10并使用_auto节点,创建一个类似scrunch的姿势,如上所述。对姿势感到满意后,请确保在SDK窗口中突出显示所有相关对象和属性,然后单击Key。然后将Scrunch属性降低到-10,在相反方向创建另一个姿势,再次点击SDK窗口中的Key。

揉捏姿势:用于将数字指甲刮到数字黑板上

揉捏姿势:用于将数字指甲刮到数字黑板上

添加手指传播

对于手指蔓延,我们只需要考虑以下的SDK窗口驱动的对象:l_thumbA_ctrl_auto,l_thumbB_ctrl_auto,l_indexA_ctrl_auto,l_indexB_ctrl_auto,l_middleA_ctrl_auto,l_middleB_ctrl_auto,l_ringA_ctrl_auto,l_ringB_ctrl_auto,l_pinkyA_ctrl_auto,l_pinkyB_ctrl_auto和l_pinkyC_ctrl_auto。在右上角的窗口中,突出显示Spread; 在左下方窗口中,突出显示所有_auto节点,在右下方窗口中,突出显示Rotate Z(允许手指扩散的属性)。如果所有内容都处于默认姿势,请点击SDK窗口中的Key。

现在,将Spread属性设置为10,并使用_auto节点的Rotate Z属性将手指分开。当您对SDK窗口中的姿势感到满意时,请按“键”。然后,将Spread属性设置为-10,使用_auto节点将手指放在一起再次按下SDK窗口上的Key。对于拇指,我使用旋转X和旋转Z的组合使其在食指旁边干净地坐着。

价差从+10到-10

价差从+10到-10

加上放松的状态

创建放松姿势与创建卷曲姿势的过程类似,但不包括拇指。为所有手指带来所有_auto节点,它几乎是一个软化的拳头版本。如果你想象一下,放松你手上的小拇指,你会发现它略微带上了戒指和中指。这是我将Relax姿势的值设置为10时的姿势。对于-10,我几乎做了相反的事情。所以,如果你想象放松食指,中间和戒指也会稍微出现。再次,看看应该更清楚地了解姿势的图像。

放松姿势的手指状态

放松姿势的手指状态

复制设置驱动键

我接下来要做的是推断我们为整个手创建的SDK并将它们弹出到每个单独的手指控件上。如果需要,这将允许动画制作者独立地构成每个手指。现在有很多方法可以做到这一点。例如,我们可以简单地记下我们用于预先创建姿势的值,并将它们提供给新控件。或者更好的是,我们可以使用一个脚本来处理这个重复的任务。后者通常是我做的,但由于我没有被允许分享处理这个问题的脚本,我们将采取第三种方式。使用SDK窗口和Graph Editor的组合,我们将首先为我们的新Driver对象创建一个SDK,然后我们将从一个控件(l_fingers_ctrl)复制动画曲线数据并将其粘贴到另一个控件上。

我现在给你一个工作实例,然后你可以将这个过程用于其余的控件。因此,让我们从l_fingers_ctrl的Curl属性复制SDK,并将它们粘贴到l_index_ctrl的Curl属性中。首先打开SDK窗口并将l_index_ctrl设置为Driver对象。然后选择l_indexA_ctrl_auto,l_indexB_ctrl_auto,l_indexC_ctrl_auto,l_indexD_ctrl_auto并将它们作为Driven对象加载。突出显示右上方框中的Curl,突出显示左下方框中的所有4个_auto节点,在右下方窗口中旋转X,然后按Key键设置初始姿势。

为l_index_ctrl设置初始的Set Driven Key

为l_index_ctrl设置初始的Set Driven Key

现在选择l_indexA_ctrl_auto,l_indexB_ctrl_auto,l_indexC_ctrl_auto,l_indexD_ctrl_auto,弹出图表编辑器(Windows>动画编辑器)。在这里,您应该看到我们在前面的步骤中创建的SDK的所有动画数据。在左侧,您还将看到驱动运动的属性。看看l_indexA_ctrl_auto下你会看到3个不同的属性正在驱动旋转X.它们是l_fingers_ctrl.Curl,l_fingers_ctrl.Relax和我们刚刚添加的属性,l_index_ctrl.Curl。我们现在要做的是将动画数据从l_fingers_ctrl.Curl复制到l_index_ctrl.Curl,但在我们这样做之前,我们需要在Graph Editor中编辑一些设置。因此,在“曲线图编辑器”窗口中,转到编辑>粘贴(选项)。在这里,将时间范围设置为剪贴板,

现在,突出显示l_fingers_ctrl.Curl并选择动画曲线。按键盘上的Ctrl + C进行复制。然后突出显示l_index_ctrl.Curl并按Ctrl + V将动画曲线粘贴到此处。如果你现在在l_index_ctrl上使用Curl属性,你会发现它现在也创建了与l_fingers_ctrl.Curl相同的动作。现在我们需要做的就是复制并粘贴其余控件的动画。这可能看起来是一个漫长的过程,但是一旦你做了几次,你应该能够很快地完成它。

完成后,您现在应该有3个级别的控件。您可以使用l_fingers_ctrl一次驱动所有手指,单独的手指控制允许您对每个手指进行广泛的更改,最后,每个指骨周围的控制曲线允许您为手指添加微小的更改。

使用图表编辑器将设置驱动的密钥从l_fingers_ctrl复制到l_index_ctrl

使用图表编辑器将设置驱动的密钥从l_fingers_ctrl复制到l_index_ctrl

脚趾控制

我做的最后一件事是添加一些关节和控制来驱动脚趾。这对于在动画时为脚添加额外细节非常有用。例如,当重量放在脚上时,我们可以稍微展开脚趾以说明重量下降。或者,如果您需要制作动画片,那么它将非常有用。我不打算详细介绍我是如何创建它的,因为它几乎就是手指设置而不仅仅是脚趾,所以如果你遇到任何麻烦,请查看之前的教程。

使用与手指类似的设置为脚趾添加额外的控制

使用与手指类似的设置为脚趾添加额外的控制

使它适合目的

对于手指,我们添加了一组控件,可以让动画师具有足够的灵活性,可以让手进入各种各样的姿势。我们在这里尝试做的是创建一个适合尽可能多的场景的装备。有时您可能会发现创建满足手头设定任务的装备最好也更有效。例如,如果你有一个坐在桌子后面的角色,从不站起来,为了它,让我们假设我们几乎看不到任何镜头中的腿。你需要钻他的腿吗?我猜不是。您可能会受到诱惑,或者您可能需要一个非常简化的装备来添加一些微妙的动作,但除此之外,花时间在将要看到或将需要动画的装备区域上更值得。

     
游戏模型设计 3dmax模型制作 次世代模型 游戏模型百科 游戏模型贴图