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

Maya中的"装备"Rigging介绍 - 第12部分 - 最后部分
栏目分类:Maya教程   发布日期:2019年05月10日 09:17:58   浏览次数:


在Jahirul的的书面指导的帮助下,在Maya完成您的装备......


教程资产

单击此处下载资产以配合本教程的最后3部分

我们现在来到Maya的“装备简介”系列的最后部分。在这里,我们将添加一些额外的功能,并准备将场景传递给动画师。我们将添加的功能包括为FK手臂和腿部控制添加空间切换(正如我们过去对头部所做的那样),并且还增加了翻转下颌的能力。我们还将考虑添加一个属性,允许我们在低分辨率网格和中分辨率网格之间切换,并使用nCloth来驱动裤子。在此之后,我将简要介绍一下如何处理这个问题(这是一个很大的话题)。我将最后看看我们如何设置一个工作流程,允许动画师在动画装备中引用他/她的场景文件,这将允许我们,装配工在动画过程中对装备进行更新,


手臂和腿部的空间切换

正如我们对头部和眼睛所做的那样,让我们​​添加一个功能,允许动画师决定FK手臂和腿部控制器应如何跟随身体。首先创建4个定位器(创建>定位器)并增加通道盒中的局部比例,使其更容易选择。重命名定位器:l_armShoulderFollow_loc,l_armTorsoFollow_loc,l_armCOGFollow_loc和l_armWorldFollow_loc。选择所有4个定位器并将它们全部置于l_upperArm_FK_ctrl下,将“通道盒”中的“转换”和“旋转”值清零以将它们捕捉到位,然后取消它们的父项。

现在,按此顺序选择; l_armShoulderFollow_loc,l_armTorsoFollow_loc,l_armCOGFollow_loc和l_armWorldFollow_loc然后是l_upperArm_FK_ctrl_auto并进入Constrain> Orient。我们现在想要在相关控件下为4个定位器设置父级,以便我们获得所需的行为。因此,在l_shoulder_ctrl下的父l_armShoulderFollow_loc,在chest_IK_ctrl下的l_armTorsoFollow_loc,在COG_ctrl下的l_armCOGFollow_loc,以及在follow_loc_grp下的l_armWorldFollow_loc。

4个定位器放置在与l_upperArm_FK_ctrl相同的位置

4个定位器放置在与l_upperArm_FK_ctrl相同的位置

现在让我们添加一个额外的属性来驱动手臂的行为。选择l_upperArm_FK_ctrl并转到“修改”>“添加属性”。给它一个很长的名字armFollow。将日期类型设置为枚举并添加以下枚举名称:肩膀,躯干,COG和世界。现在转到Animate> Set Driven Key>设置并加载l_upperArm_FK_ctrl作为Driver对象。然后,在l_upperArm_FK_ctrl_auto下,您将找到我们需要驱动的l_upperArm_FK_ctrl_auto _orientConstraint节点。选择该节点,然后点击Load Driven。选择l_upperArm_FK_ctrl后,将“手臂跟随”模式设置为肩部。

然后选择l_upperArm_FK_ctrl_auto _orientConstraint节点,将L Shoulder Follow Loc W0设置为1,将剩余权重(W1,W2和W3)设置为0.返回SDK窗口,按Key键。现在将手臂跟随模式设置为躯干,将L Torso Follow Loc W1设置为1,将剩余重量(W0,W2,W3)设置为0.对COG和世界模式执行相同操作,你应该好好去。重复右臂的步骤,然后重复两个FK腿控制。对于腿部,我还创建了4个定位器,在hip_FK_ctrl,hip_IK_ctrl,COG_ctrl和follow_loc_grp下为父级,并在l_upperleg_FK_ctrl和r_upperleg_FK_ctrl下添加了额外的驱动属性。

使用Set Driven Key工具驱动FK臂控制的行为

使用Set Driven Key工具驱动FK臂控制的行为


添加翻译到下巴

接下来,我想通过添加翻译能力为下巴增加一点灵活性。选择jawA_ctrl并在Channel Box中,转到Edit> Channel Control。向下滚动并突出显示“翻译X”,“翻译Y”和“翻译Z”,然后单击“移动”按钮。属性将被锁定,以便在频道框中突出显示它们,按住RMB并解锁选中。现在按此顺序选择,jawA_ctrl,jawA_jnt并进入Constrain> Point。控制现在应该驱动颚的旋转和位置,使您可以做出更有趣的姿势。

将翻译控制添加到下巴

将翻译控制添加到下巴


控制分辨率

目前,我们有一个低分辨率网格(切碎的地理位置,骨架的父级)和一个中等皮肤的网格。在两者之间切换要求我们启用和禁用我们当前放置它们的显示层。尽管我们可以坚持使用当前的方法,但我想添加一个允许我进行切换的属性。

首先选择COG_ctrl,然后转到“修改”>“添加属性”。给它一个长名称的解析,将数据类型设置为枚举并添加以下枚举名称:lowRes和midRes。现在打开SDK窗口(Animate> Set Driven Key)并加载蒙皮网格(包括钉子和眼睛)作为Driven对象。选择COG_ctrl并将该控件设置为Driver对象。将COG_ctrl上的resolution属性设置为midRes,在SDK窗口中,突出显示右上方框中的Resolution,突出显示左下方框中的所有驱动对象,并在右下方框中突出显示可见性。选中这些对象和属性后,在SDK窗口中单击Key。现在将resolution属性设置为lowRes,将蒙皮几何体的可见性设置为off,然后在SDK窗口再次点击Key。对低分辨率几何体执行相同操作,

使用自定义属性驱动网格的分辨率

使用自定义属性驱动网格的分辨率


裤子和nCloth

为了设置裤子,我决定使用nCloth。你可以给裤子上皮或者使用Wrap Deformer,但两种方法的结果都很好......裤子。虽然nCloth在场景中会更重,但它也会在我们的角色表达时产生一些有趣的折叠和折痕。我们应该做的第一件事是检查裤子的几何形状。我们希望边缘循环尽可能均匀地分布。我最终使用了Sculpt Geometry Tool,模式设置为Relax,并平衡了两腿之间的边缘循环。一旦你清理了边缘循环,通过进入网格>平滑(选项)并将分区级别设置为1来增加裤子的分辨率。网格预先有点粗糙,这应该会给出更好的结果,尽管它会自然地需要更长的时间来模拟。在添加布节点之前,

由于裤子将使用nCloth驱动,我们需要将播放速度设置为每帧播放。通过在时间轴上按住人民币并进入播放速度>播放每帧或播放每帧,最大实时,这样做。现在切换到nDynamics菜单集,并选择pants_geo,转到nMesh> Create nCloth。在时间轴上给自己几百帧,然后点击播放(Alt + V)查看结果。根据您机器的规格,您可能会发现模拟需要一段时间,因此查看结果非常繁琐。如果是这样的话,通过在时间轴中按住人民币并进入Playblast,创建一个playblast以更好地了解布料的行为。

如果你现在玩,你可能会发现裤子会开始下降,并显示你可能希望显示的更多肉体。为了阻止这种情况,我们将使用nConstraint。首先选择裤子腰部周围的几个边缘环。选中这些边后,转到nConstraint> Transform。如果你现在玩,你会发现裤子保持固定。添加一些动画到臀部,你会发现它们不跟随臀部的运动。要解决该问题,只需在Outliner中获取dynamicConstraint1节点并将其父级置于hip_FK_ctrl下。

接下来我们要做的就是玩布料的属性。目前,感觉有点过于宽松。如果在“大纲视图”(Outliner)中选择nCloth1节点并打开“属性编辑器”(Attribute Editor),您将找到一整堆属性,以优化nClothShape1选项卡中布料的行为。我们不打算在这里详细说明,因为这超出了本教程的范围,但是如果你想了解更多信息,请查看非常详尽的Maya帮助文件(F1)。幸运的是,我们可以简单地使用其中一个Presets来快速阻止我们希望裤子的行为方式。导航到“属性编辑器”(Attribute Editor)中的nClothShape1选项卡,您会在右上角看到一个“预设”按钮。点击该按钮并选择thickLeather。这可能听起来很奇怪,但它几乎给了我我追求的结果。玩一下预设,看看哪些对你有用,因为我无法决定你的内衣选择,CG或其他。如果向下滚动到“属性编辑器”(Attribute Editor)中的“注释”部分,可以获得有关如何优化特定预设的一些提示。

布料设置将极大地影响播放速度,因此请记住在制作动画时隐藏几何体和布料节点。

使用nCloth从裤子中获得更好的效果

使用nCloth从裤子中获得更好的效果


装备 - 概述

单独绑定面部是一个完整的过程,并需要自己的一系列教程。但是,如果你想进一步采用这种装置,我想给你一些关于如何接近脸的想法。现在和所有事情一样,我认为只有一种方法可以完成任务,所以请做实验并测试出不同的想法。

装配面部的一种方法是使用混合形状。当你几乎塑造每个脸型时,你很容易就能清楚地了解脸部的最终姿势。另外,如果您有多个动画师使用该装备,他们将使用的姿势将在镜头之间保持一致。使用混合形状的缺点之一是从一种混合形状到另一种混合形状的过渡非常线性,因此产生自然弧线更加困难。对于颌的打开和关闭,根据眼睛的大小,最好使用关节,因为它们很容易产生自然弧。

创建基于关节的面部装备并将关节添加到当前的skinCluster

创建基于关节的面部装备并将关节添加到当前的skinCluster



接下来,您可以使用基于联合的设置。这是关节将被放置在脸部周围的位置(通常在肌肉插入/原点处),并且这些关节将被平移,旋转和缩放以产生姿势。这种方法的问题在于,除非你创建一个集合姿势库(类似于手指),否则你可能会在不同动画师的姿势之间产生不一致。积极的是,您可以非常轻松地创建一些非常精细的动作,并且可以非常快速地为姿势添加不对称性。

我发现两种方法的组合效果最好:使用混合形状来获得一致的姿势集,然后在顶部使用关节/簇来优化姿势。或者尝试基于联合的设置,添加额外的混合形状以进一步推动脸部。无论哪种方式,只要面部装备允许动画师达到所需的姿势并且它适合媒体(游戏,电影,电视等)的需要,它应该不是太大的问题。当你为脸部创建装备时,记住要继续看自己的脸以及它如何表达。例如,看看下颚的开口如何在太阳穴区域周围产生运动,或者如何移动眼睛周围的皮肤。

在新添加的关节上绘制一些重物以使脸部变形

在新添加的关节上绘制一些重物以使脸部变形


引用

引用并不是一种操纵功能或技术,而是一种能够通过生产管道发送资产同时能够在此过程中进行更改的方法。在我们目前的情况下,它将是一种将我们的装备传递给动画师的方法,让他们做他们的事情,如果需要将任何额外的功能添加到装备,我们可以添加它们,更新装备和动画师可以携带在不失去他们迄今为止所做的工作的情况下工作。与打开文件或导入文件不同,引用只是指向文件。因此,对引用文件所做的任何更改都将传递给调用它的场景文件。

让我们做一个工作示例,以便您可以更好地了解使用此工作流程可以使您受益多少。首先拍摄最新的场景文件并将其保存为male_rig_wip1.ma(这将是我们可以随时返回的备份文件)。此文件还应包含所有混合形状网格,以便我们可以在需要时返回并更新它们。我们刚刚保存的场景文件大约为234MB,动画师不需要所有这些数据。现在删除你在male_geo_grp下找到的correctives_geo_grp。这将消除用于混合形状的所有几何体。将此场景文件重新保存为male_RIG_PUBLISHED.ma并查看文件大小。我的文件最终为29.8MB。这是动画师将在他们的场景中引用的文件,用于工作并且更轻松,

我们现在成为动画师。在新场景中,转到文件>创建参考,然后选择male_RIG_PUBLISHED.ma。使用引用的文件,打开“大纲视图”,您将看到蓝色菱形图标,表示这是一个引用的资产。您还可以转到文件>参考编辑器以查看从中调用文件的位置。使用场景中的装备,设置几个键以创建快速动画。尝试将场景弹出一个需要修复的问题姿势,然后记下控件和使其进入该姿势的值。将此场景文件另存为male_anim_v1.ma。

现在再次成为装配工。打开male_rig_v1.ma文件并将装备弹出到您在动画文件中使用的相同问题姿势。就像我们在上一个教程中所做的那样,使用BSpiritCorrective.mel脚本为该姿势创建一个修正修复。请记住在复制网格之前禁用任何活动的混合形状,以便在我们重新应用额外的修正形状时不会使它变形。将新的修正姿势添加到“修正”混合形状节点后,将场景文件另存为male_rig_v2.ma。再次从场景中删除所有混合形状,并将场景文件重新保存为male_RIG_PUBLISHED.ma,覆盖现有文件。

重新弹出你的动画师帽子并重新打开male_anim_v1.ma。您会发现所有动画都保持完整,并且您还应该在'correctives'节点上生成额外的校正混合形状,随时可以使用。这只是如何使用引用的一个实例。另一个例子是传递当前的装备,然后再添加面部装备。需要注意的一个重要注意事项是,在使用引用文件时,添加新属性或功能应该没问题。然而,取消动画师已经键入或重构部分装备的功能可能具有相当具有破坏性的效果。

希望这能让您了解如何使用引用。但请记住,总是运行一些测试来查看什么是不可能的。这样,你就会知道你能做什么,不能做什么。

参考您的装备

参考您的装备


提示

添加呼吸控制和摇晃

当一个数字角色停在其轨道上时,这个角色活着的错觉就会被打破。我发现的另一个问题是一个角色似乎没有呼吸。为了给我们的角色带来更多的生命,为什么不添加一个属性呢?对于最终文件(07_finalFile_withBlendShapes.ma),我最终添加了一个混合形状,我使用Sculpt Geometry Tool将胸部区域沿着法线略微推出。然后使用表达式使用chest_IK_ctrl上的几个自定义属性来驱动混合形状。呼吸速度属性驱动混合形状的速度,而呼吸大小,如名称所示驱动大小。查看表达式编辑器,了解我是如何将其连接起来的,只需单击“播放”即可查看效果。而不是使用混合形状,

驱动呼吸混合形状的自定义属性和创建的表达式将所有内容挂钩在一起

驱动呼吸混合形状的自定义属性和创建的表达式将所有内容挂钩在一起

接下来,我想在腹部,胸部,手臂底部,臀部,大腿和小腿区域等区域添加一点点摇晃。如果你去创建变形器,你实际上会找到一个可以用于此的Jiggle变形器。我没有使用这个变形器,而是将一个Muscle System Skin Deformer节点添加到网格中,并使用了此处找到的抖动。要做同样的事情,选择你的网格,去肌肉>皮肤设置>应用肌肉系统皮肤变形器。什么时候设置相对变形?窗口弹出,点击是。在Channel Box(或Attribute Editor)中,单击cMuscleSystem1节点。现在向下滚动到JIGGLE并启用Enable Jiggle。

选择网格后,去肌肉>油漆肌肉重量。当窗口弹出时,将模式设置为Jiggle并绘制您想要使抖动生效的区域。通过在控件上弹出一些动画来构建网格来测试抖动效果。如果您发现抖动太多或太少,请使用Jigg​​le Max值(当前设置为0.5)进行游戏。如果您发现播放速度确实受到影响,则可能需要禁用Jigg​​le属性。我已将Jiggle Max值减小到0.2左右。这主要是因为我想保持微妙的微动。如果他是一个腰部有几卷的家伙,我可能会把这个值提高一点。做一个很好的实验,看看什么对你有用。像布料设置,

如果您发现无法看到肌肉菜单,请转到窗口>设置/首选项>插件管理器。查找MayaMuscle并点击Loaded和Auto Load复选框。

使用绘画工具来决定哪些区域需要稍微摇晃一下

使用绘画工具来决定哪些区域需要稍微摇晃一下


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