3ds max高级教程:创建带有骨骼动画的机器人模型
与3D Studio Max和类似产品中的大多数任务一样,如果您知道如何操作,索具机器人很容易。根据机器人的复杂性,有些人可能会发现它比操纵人类或动物角色更容易。这是因为机器人的大多数部件在运动过程中都不会变形,除了电缆和其他柔性部件,所以你不必“蒙皮”它。构建一个很酷的机器人的主要挑战之一是创建逼真的机械关节,在动画制作时看起来仍然很酷。
推荐:NSDT场景编辑器助你快速搭建可二次开发的3D应用场景
然而,下面我们示例机器人腿的第一个版本不是很现实,因为它会像没有肌肉的骨骼结构一样坍塌。在第二个版本中,我们将添加一些机器人“肌肉”,第三个版本将包括软管。点击部分图片下方的下载链接,下载相应场景。
1. 一条人的腿
当装配人的腿时,当膝盖弯曲时,网格会变形,将顶点在一侧彼此推开,在另一侧相互靠近。这是通过使用将网格的顶点绑定到骨骼的皮肤修改器来实现的。顶点的颜色表示权重值,该值决定了移动关节对这些顶点的影响程度。红色顶点代表最刚性的部分。
2. 我们的机器人腿示例
机器人通常由金属、塑料或其他一些不会变形的坚硬和刚性材料制成。下图显示了构成示例腿基础的五个对象。
3. 装配我们的示例机器人腿
像往常一样,我必须注意,以下内容只是执行此操作的一种方式,这并不一定意味着它是方法(我们稍后实际上会展示另一种方式)。下面的图3a显示了构成这条腿的物体的(未平滑)线框。单击它下面的链接下载场景,或者通过单击图片 3h 下面的链接下载包括骨骼在内的场景,或者如果您现在不想实际做任何这些,只需观看图片。
上图中的红点表示对象的枢轴。在您可以下载的场景中,我已经将它们移动到了正确的位置。UpperLeg的枢轴与Cylinder01的枢轴位于完全相同的位置,LowerLeg的枢轴与Cylinder02的枢轴位于同一位置。切换到顶视图时,它们都对齐。您添加的骨骼必须准确地在这些枢轴点开始或结束。
确保骨骼正确定位的一种方法是捕捉枢轴。使用此方法时,从顶部查看时,所有枢轴对齐也很重要。如果您的机器人中它们不是,并且对齐它们太复杂或太困难,您可以跳过以下捕捉设置,只需绘制骨骼,将它们全部选中并将它们移动到腿的中心(顶视图)。要使用捕捉设置,请右键单击主工具栏上的捕捉切换按钮,然后选择枢轴并在必要时清除其他按钮(见图 3b)。现在点击 捕捉 再次切换按钮(用鼠标左键)启用它。
单击命令面板的“创建”选项卡上“系统”部分中的“骨骼”按钮,如下图所示 3c。选择“样条线IKSolver”作为“IK 求解器”并启用“分配给子级”(如果您愿意,可以使用其他 IK 规划求解器,也可以根本不使用任何规划求解)。
现在,通过单击图 1d 中显示的点 2、3 和 3 绘制骨骼,然后右键单击视口中的任意位置以停止。点 1、2 和 3 是柱面 01、柱面 02 和柱面 03 的枢轴点。
当下面图 3e 所示的样条曲线 IK 求解器对话框打开时,只需单击“确定”。
现在,在将骨骼连接到腿部之前,您应该确保骨骼的枢轴正确定位在四肢的枢轴上,我们添加的样条曲线 IK 求解器会稍微移动它们。要移动骨骼的枢轴,请单击命令面板的“层次结构”选项卡上的“仅影响枢轴”按钮,然后禁用命令面板的“运动”选项卡上的“已启用”按钮。
然后选择骨骼的枢轴并将其移动到正确的位置。确保放大并将其准确地放置在四肢枢轴的中心。您可能还希望首先通过再次单击“对齐”切换按钮来禁用对齐到透视设置。如果由于某种原因您无法将它们放在正确的位置,则无需继续,因为整个设置取决于枢轴的位置。
当您确定枢轴位置正确时,选择 Cylinder01 并将其链接到 UpperLeg。选择“圆柱 02”并将其链接到“小腿”,并选择“圆柱 03”并将其链接到“小腿”。要将一个对象链接到另一个对象,请单击主工具栏上的“选择并链接”按钮,选择要链接的对象,然后拖动到要链接到的对象。如果操作正确,您链接到的对象将闪烁一次白色。
我们将使用相同的选择和链接方法将对象链接到骨骼,而不是使用 Skin 修改器。将大腿链接到上骨骼,并将小腿链接到下骨骼。
完成上述所有操作或使用下面的链接下载包括骨骼在内的场景后,选择 IK 链或任何点助手并移动它。膝关节现在应如图3g所示操作,在运动过程中没有任何物体变形。
4. 另一种方法
在我们继续这条腿并增加一些肌肉之前,我们将使用另一种方法来装配这条腿。正如有人善意地向我指出的那样,没有绝对需要使用骨头.如果你特别不熟悉索具角色或机器人,你可能想选择上面讨论的骨骼方法,但机器人通常本身就是一个骨架,不需要骨骼。3D Studio Max 允许任何对象像骨骼一样工作,还允许您将 IK 求解器分配给任何分层对象集。同样在这种类型的“骨骼”设置中,绝对必须将物体的枢轴置于正确的位置。稍后我们将用一些图片来说明这一点。
若要使其与前面的示例一起使用(删除前面的骨骼结构或使用之前下载的场景),并将对象相互链接,如下所示:
气缸03 -> 小腿 小腿->缸02
气缸02 -> 大腿
大腿->气缸01
按主工具栏上的示意图(打开)按钮,检查层次结构现在是否正确,如图 4a 所示。
现在,您需要做的就是向此层次结构添加一个 IK 求解器,使其像机器人腿一样工作。您可以使用您喜欢的 IK 求解器,但在本例中,我们将使用独立于历史记录的求解器。选择“柱面 03”,从“动画”菜单的“IK 求解器”部分中选择“HI 求解器”,然后选择“柱面 01”。要防止将求解器链接到 UpperLeg 而不是 Cylinder01,请使用“按名称选择”选项,这基本上意味着您应该在从菜单中选择 HI 规划求解器后按键盘上的 H 键,然后从列表中选择 Cylinder01,而不是在视口中单击它。
如果您正确执行了前面的任务,则结果应如图 4b 所示,选择了 IK 链。如果您移动IK链条,则腿应该可以工作。为了使此支腿的动画任务更加方便,您应该将 IK 链链接到点助手。
可以通过单击命令面板上“创建”选项卡的“帮助程序”部分中的“点”按钮,然后单击视口中的某处来创建点帮助程序,如下面的图 4b 所示。在这种情况下,我建议你把它放在腿底部的某个地方。使用前面讨论的相同选择和链接方法将 IK 链链接到点帮助程序,以便可以通过移动点帮助程序来对腿进行动画处理。
如果您的机器人具有复杂的几何体,并且对单个对象进行动画处理会大大减慢计算机的速度,则可以将 3D Studio Max 配置为将对象显示为骨骼。使用前面步骤中的示例腿时,您应该选择圆柱01、02、03、大腿和小腿,然后从“字符”菜单中选择骨骼工具。在“骨骼工具”对话框中启用“骨骼打开”选项,如下所示。
接下来,打开命令面板上的“显示”选项卡,向下滚动,然后在“链接显示”部分中启用“显示链接”选项和“链接替换对象”选项。
结果应如下图所示图4e。
或者,您可以仅启用“显示链接”选项,并在“链接显示”部分的正上方启用“显示属性”部分中的“显示为框”选项。结果应如下图所示图4f。
5. 肌肉
正如我之前提到的,上面示例中使用的腿不是很现实;它需要一些肌肉来使其自动移动,同时赋予它一些力量。您可以自行制定机制,但也可以使用现代现实世界机器人中使用的三种主要方法之一:
电动机
对于上面的示例腿,这将是简单的出路,因为您“只需要”增加膝关节的尺寸并将其修改为如下所示的照片 I 所示,因此电动机可以安装在里面变得可行。此外,装配机器人很容易,因为您可以使用我们之前讨论的方法之一。
图一. 由电动机驱动的工业机械臂。
液压/气动/磁性活塞
为机器人提供动力的另一种常用方法是活塞。活塞(见下面的照片II)基本上由一根进入管内的金属棒组成。加压空气或油被泵入活塞以推出金属棒。这通常是机器人移动时你在这里的声音。如果你想使它们逼真,你应该在上面安装一根软管,这会导致机器人内部或上方的压缩机。这些液压或气动活塞比电动机强大得多。较小的活塞可以使用磁力来拉动或推动金属棒。后者将连接电线,而不是软管。
照片二.起重机由液压活塞提供动力。
图 5a 和 5b 显示了我们的第二个示例腿。它包括一个由两个气缸组成的活塞,称为Piston_PA和Piston_PB。两个额外的气缸(P_Axis_A和P_Axis_B)形成活塞部件的轴线。
正如你在下面的图 5c 中看到的,我们已经用两块骨头和一个 IKSplineSolver 装配了腿。您可以通过单击图片下方的链接下载场景。
首先,我们将活塞的部件连接到腿上,如下所示:
P_Axis_A -> 大腿 P_Axis_B -> 小腿
Piston_PA -> P_Axis_A
Piston_PB -> P_Axis_B
腿的层次结构现在应该与图 5d 完全相同。
如果我们弯曲膝盖,例如使用下辅助器(Point3),活塞的两个部分将无法正确对齐,并且会“断裂”,如下图所示5e。
(如果移动了支腿,请按使用撤消 (Ctrl-Z) 将其移回其原始位置。
为了确保金属棒留在管内,我们需要使用约束,在本例中为 Look At 约束。与本教程前面的部分一样,活塞部件枢轴的位置对于使其工作至关重要。P_Axis_A和Piston_PA的枢轴完全在同一位置,P_Axis_B和Piston_PB的枢轴也完全相同。我们已经在可下载的场景中完成了此操作,方法是选择在同一轴上具有枢轴的部分,启用“仅影响枢轴”按钮(请参阅图 3f)并使用对齐工具(在“前”、“上”和“左”视图上)。
我们需要添加两个 Look Look T 约束,一个用于活塞的每个部分。选择Piston_PA,然后从动画菜单的约束部分中选择查看,如下图 5f 所示。
按键盘上的 H 键,选择P_Axis_B,然后单击“选择”按钮。Piston_PA现在改变了方向。要确保它指向原始方向,请启用命令面板“运动”选项卡上“参数”部分的“保持初始偏移”选项,如下图所示 5g。(添加“查看”约束时,参数部分会自动打开。
对活塞的其他部分重复此步骤,换句话说:选择Piston_PB,从动画菜单中选择查看约束,选择P_Axis_A作为目标(使用 H 按钮选取它)。同时再次启用“保留初始偏移”选项。所以我们所做的是让活塞的一部分“看”另一部分的轴。方向用蓝线表示。如果选择辅助器Point03并再次移动它,您将看到金属球棒整齐地滑入管中,如下图所示5h。
为了使它更逼真,我们需要将管道或软管连接到液压或气动活塞上,并且我们需要确保它在腿移动时移动和/或弯曲。有很多方法可以做到这一点,但相对容易的是使用扩展的原始软管。使用软管原语的优点是您不需要安装它;没有骨头,也没有IK。相反,除了软管之外,我们还将添加两个额外的气缸,并让软管在这些气缸处开始和结束。
在下面的图5i中,您可以看到我们放置两个气缸的位置。左边的圆柱体链接到UpperLeg,另一个链接到Piston_PA。这些气缸代表软管的入口点,例如电线的连接器。您可能希望使用比圆柱体更复杂的东西,但请确保它是一个单独的对象。
接下来,通过在命令面板的“创建”选项卡上选择“扩展基元”,单击“软管”按钮,然后在任何视口中绘制软管来创建软管,如下图所示 5j。不要担心它的大小、位置或形状。
在命令面板的修改选项卡上,启用绑定到对象透视。单击“选取顶部对象”按钮,然后单击左侧圆柱体。单击“拾取底部对象”按钮,然后单击右侧圆柱体(或使用键盘上的 H 键)。
根据我们用于连接软管的气缸的方向以及您创建软管的视口,您可能需要旋转一个或两个气缸的枢轴。因此,如有必要,请选择圆柱体,启用“仅影响枢轴”按钮(图片 3f),然后旋转枢轴。当您旋转枢轴时,软管会随之弯曲,因此您可以轻松看到它何时处于正确的角度。
当软管与气缸正确对齐后,再次单击软管,在“修改”选项卡上向下滚动,然后禁用“弹性截面启用”选项,如下图所示5l。同时将“软管形状”部分中的“直径:”值减小到小于圆柱体的值。
如您所见,软管太长,需要更紧地挂在腿上。您可以通过减小张力值来执行此操作(见图 5k)。在下面的最终图像中,我们对两个气缸都使用了 25。如果您再次使用辅助器移动腿,您会注意到软管将保持在原位,甚至在必要时弯曲。单击其中一个图像以查看最终动画。
我希望您喜欢本教程,并且它对您的 3D Studio Max 建模技能有所贡献。