首页 > 其他分享 >3ds max高级教程:创建带有骨骼动画的机器人模型

3ds max高级教程:创建带有骨骼动画的机器人模型

时间:2023-07-17 15:34:02浏览次数:50  
标签:动画 骨骼 单击 3ds 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 建模技能有所贡献。

 

原文链接:3ds max高级教程:创建带有骨骼动画的机器人模型 (mvrlink.com)

标签:动画,骨骼,单击,3ds,max,软管,枢轴,所示,链接
From: https://www.cnblogs.com/mvrlink/p/17560252.html

相关文章

  • css3动画之打字效果
    <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"/><metaname="viewport"content="width=device-width,initial-scale=1.0"/><title>速度曲线步长</title>......
  • 十七、QPropertyAnimation属性动画
    1.几何动画(1)setStartValue方法设置开始动画(2)setEndValue方法设置结束动画(3)setDuration方法设置动画时间(4)setLoopCount方法设置动画循环次数(5)setEasingCurve方法设置动画的缓和曲线(6)start方法开始执行动画(7)setKeyValueAt方法设置某个时间段的动......
  • mysql Specified key was too long; max key length is 767 bytes
    MySQL指定的索引键太长;最大键长度为767字节在使用MySQL数据库时,我们可能会遇到一个常见的错误:“Specifiedkeywastoolong;maxkeylengthis767bytes”。这个错误通常在创建索引时出现,意味着指定的索引键的长度超过了MySQL允许的最大长度。什么是索引?索引是数据库中用于加......
  • 在 3ds max 中创建逼真的镜像材质
    推荐:NSDT场景编辑器助你快速搭建可二次开发的3D应用场景选项1.平面镜面材料步骤1首先,我们需要包含镜像对象和一个或多个镜像对象的场景。您可以在此处下载本教程中使用的场景,也可以使用您自己的场景和对象。对于第一个镜像选项,我们将镜像材质分配给对象MirrorPlane,顾名思义,它......
  • 在 3ds Max 中使用Mental Ray渲染 wip 图像
    推荐:NSDT场景编辑器助你快速搭建可二次开发的3D应用场景本教程面向初学者,每个步骤都详细概述和显示。如果您是3DStudioMAX的新手,您可能想先尝试我们的其他一些教程。使用默认的3DStudioMAX渲染器创建粘土渲染步骤1 在3DStudioMax中启动一个新场景并向场景添加模......
  • 如何在 3ds Max 中使用 Mental Ray 制作逼真的草地和带有光晕的天空
    推荐:NSDT场景编辑器助你快速搭建可二次开发的3D应用场景首先,您将创建一个平面对象,然后添加一个噪点修改器。在此之上应用毛发和毛皮修饰符。 这将用于模拟逼真的草地。我们用日光系统创造太阳和天空。为太阳添加镜头和戒指效果以及酷炫的逼真效果。最后,我们从透视视口创建一个......
  • softmax和crossentropy
    当进行多分类任务时,通常会使用Softmax函数和CrossEntropyLoss损失函数来处理模型的输出和计算损失。Softmax函数:Softmax函数用于将模型的原始输出转换为概率分布。对于一个具有K个类别的模型输出向量z,Softmax函数的定义如下:softmax(z_i)=exp(z_i)/sum(exp(z_j......
  • 【雕爷学编程】Arduino动手做(149)---MAX9814咪头传感器模块7
    37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手尝试系列实验,不管成功(程序走通)与否,都会记录下来—小小的进步或是搞......
  • 【雕爷学编程】Arduino动手做(149)---MAX9814咪头传感器模块6
    37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手尝试系列实验,不管成功(程序走通)与否,都会记录下来—小小的进步或是搞......
  • 【雕爷学编程】Arduino动手做(149)---MAX9814咪头传感器模块5
    37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手尝试系列实验,不管成功(程序走通)与否,都会记录下来—小小的进步或是搞......