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

news2024/10/5 22:22:13
推荐: 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)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/763245.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

分布式运用存储系统Ceph

一、ceph的相关知识 1.ceph介绍与简介 Ceph是一个开源的分布式存储解决方案,旨在提供可扩展性、高性能和强大的数据可靠性。它采用了一种分布式对象存储架构,能够同时提供块存储和文件存储的功能。 Ceph使用C语言开发,是一个开放、自我修复和…

Makefile文件编写

文章目录 格式自动检查更新效率变量模式匹配函数clean 格式 目标:依赖 tab 命令 自动检查更新 当有文件发生修改后,重新make会自动对发生修改的依赖进行编译 效率 由于在 make时会进行检查更新,对于有修改的依赖会重新编译,为…

定位理论:引领企业变革的幕后推手

在商业的海洋中,如何能让你的企业像一座明亮的灯塔,独特而引人注目?这就需要我们掌握一种强大的工具——定位理论。那么,定位理论究竟是什么?我们为什么要学习它?它如何能为我们的企业创造价值?今天,让我们一起深入探索定位理…

vue3组件引用使用的坑

今天准备用el-tabs写个页面,发现点击后组件怎么都显示不了,后来才发现是组件引用的原因 这是页面是显示的效果: 乍一看确实是对的。。。 但是当我点击完这三个tab后再重新点击道路管理后,有意思的出现了: one组件消失…

UE4/5AI制作基础AI(适合新手入门,运用黑板,行为树,ai控制器,角色类,任务)

目录 制作流程 第一步:创建资产 然后创建一个AIController 之后创建一个黑板和行为树: 第二步:制作 黑板 行为树 任务 运行行为树 结果 制作流程 第一步:创建资产 第一步直接复制你的人物蓝图,做一个npc&…

【网关】ShenYu Gateway入门Demo体验,ShenYu网关2.6.0直接调用Dubbo服务

本次为新开源框架接入ShenYu网关做基础学习指导,特地来下载官网的demo体验一把,具体是想通过网关泛化调用dubbo服务。本次使用的是最新版本2.6.0。 官网文档: 如何通过 Apache ShenYu 网关代理 Dubbo 服务 | Apache Dubbo 环境准备 第一步&a…

nvm安装和使用,对node.js版本进行切换控制

文章目录 前言一、nvm是什么?二、安装三、nvm命令说明nvm ls(查看已安装版本)nvm list available(查看可下载安装的最新版本列表)nvm current(查看当前使用的版本)nvm install(下载安…

【Linux】网络基础之UDP协议

目录 🌈前言🌸1、传输层🌺2、重谈端口号🍨2.1、端口号范围划分🍧2.2、认识知名端口号 🍀3、UDP协议🍨3.1、UDP协议报文结构🍩3.2、UDP协议的特点🍪3.3、基于UDP的应用层协…

SQL篇-03_SQL必知必会-13_组合查询

SQL106 将两个 SELECT 语句结合起来(一) 描述 表OrderItems包含订单产品信息,字段prod_id代表产品id、quantity代表产品数量 prod_id quantity a0001 105 a0002 100 a0002 200 a0013 1121 a0003 10 a0003 19 a0003 5 BNBG 10002 【问题】将两…

移动卫生间有人无人自动采集方案

互联网和物联网技术的不断普及,以及新技术的不断更新迭代,为我们的生活带来了诸多便利和改变。在这个信息时代,我们希望通过采用更先进的技术来建设智慧厕所,以满足人们对卫生设施的高品质需求。其中,物联网技术、传感…

python和pip安装+flask基本用法小白教程

安装python 3.8.2: 直接点击下方链接下载: 链接:https://pan.baidu.com/s/11Jo1I8GjnKQSgIv-5xSrTw 提取码:hg5h 安装pip: 在下载安装完python配置完环境变量后,打开cmd输入下面命令: pyt…

一文了解什么是ISO 9001认证,以及在静态分析和代码质量领域有哪些通过此认证的工具

ISO 9001是一个国际标准,被广泛应用于不同规模、不同类型的企业,它为企业的质量管理体系(QMS)提供了具体的要求和标准。 最新版本的ISO 9001发布于2015年,旨在帮助企业改善客户体验、满足法规要求、管理供应商和合作伙…

基于STM32设计的老人监护系统

一、设计需求 1.1 项目背景 21世纪以来,随着科技的发展,在人们的生活水平不断的提升的同时中国老龄化人口问题日益严重,再加上社会经济的发展。许多子女外出打工,使得越来越多的空巢老人得不到及时有效的关心与治疗。因此,本系统以老人为中心,并设定出许多相关的功能监…

Java 并发编程

一、开篇 本篇只要是对Java基础中的并发编程进行巩固、知识回顾。 几乎所有的资料在讲述本篇时都是先讲一下进程和线程的区别。在此将不详细介绍,只介绍了解以下几点区别: 1、进程大、线程小,一个程序至少有一个进程,一个进程至…

原型模式-克隆一个对象

在开发一个界面的时候,里面有多个Button,这些对象的属性内容相似。如果一个个实例化Button对象,并设置其属性,那么代码量将会增多。 通过一个原型对象克隆出多个一模一样的对象,该模式被称为原型模式。 图 原型模式 …

Vue-Router相关理解3

路由跳转的replace方法 编程式路由导航&#xff08;不用<router-link></router-link>&#xff09; src/components/Banner.vue <template><div class"col-xs-offset-2 col-xs-8"><div class"page-header"><h2>Vue R…

Nginx配置白名单访问

一、背景 在项目运行的时候&#xff0c;需要设置特定的访问权限&#xff0c;以拒绝其他可能存在的恶意访问。 二、配置 2.1、关键字 允许访问关键字&#xff1a;allow 屏蔽访问关键字&#xff1a;deny 2.2、作用域 作用域如下&#xff1a; http&#xff1a;所有网站屏蔽I…

MATLAB算法-数据挖掘算法详解,

Matlab是一种功能强大的数据分析和数据挖掘工具,提供了丰富的数据挖掘算法和函数。下面将介绍一些最著名的数据挖掘算法,并提供相应的代码示例。 K均值聚类算法(K-means Clustering): K均值聚类是一种常用的无监督学习算法,用于将数据集划分为K个不同的簇。以下是在Matla…

ElasticSearch学习(1) 基础操作

目前使用的ES版本是7&#xff0c;借用下其他的文档。说明下ES的存储。 ES首先是index 对应的是数据库&#xff0c;7以前有type的概念&#xff0c;7没有type的概念&#xff0c;也就是说现在ES7 一个库(index)只有一个表(type)。 一个表(type)可以有多行(doc) 一行(doc)有多列…

上手vue2的学习笔记4之搭建vue环境

一、安装node环境 上手vue2的学习笔记2之安装nodejs和npm的踩坑经历 node -v //查看是否安装成功 npm -v //查看npm是否安装成功二、搭建vue项目环境 参考链接1&#xff1a;vue(2.0版本)安装步骤教程 参考链接2: MacOS 搭建一个vue项目(完整步骤) 1、安装vue2 npm install …