返回介绍

3ds Max 帮助

3ds Max 帮助归档

IK 解算器

发布于 2022-07-23 00:44:32 字数 12562 浏览 0 评论 0 收藏 0

IK 解算器可以创建反向运动学解决方案,用于旋转和定位链中的链接。它可以应用 IK 控制器,用来管理链接中子对象的变换。您可以将 IK 解算器应用于对象的任何层次。使用“动画”菜单中的命令,可以将 IK 解算器应用于层次或层次的一部分。在层次中选中对象,并选择 IK 解算器,然后单击该层次中的其他对象,以便定义 IK 链的末端。

  • 标准菜单:在希望开始 IK 的层次中选择对象。 “动画”菜单 “IK 解算器” 应用 IK 解算器。 在要结束 IK 链的层次中单击对象。
  • 增强型菜单:在希望开始 IK 的层次中选择对象。 “动画”菜单 “关系/IK” 应用 IK 解算器。 在要结束 IK 链的层次中单击对象。

应用 HI IK 解算器的骨骼系统

每种 IK 解算器都具有自身的行为和工作流,以及显示在“层次”和“运动”面板中的专用控件和工具。IK 解算器是插件,所以编程人员可以通过定制或编写自己的 IK 解算器扩展 3ds Max 的 IK 功能。

3ds Max 附带四个不同的 IK 解算器。两个最常用的 IK 解算器为历史独立型 (HI) 和历史依赖型 (HD)。要同时查看工作原理,请播放以下视频:

在前面的视频中,机器人臂 1 使用 HI IK,而机器人臂 2 使用 HD IK。两个机器人臂的末端效应器的动画相同。请注意,这两种算法达到空间中相同点所使用的 IK 解决方案是不同的。

IK 解算器的工作方式

通常,IK 解算器的工作方式如下:反向运动学链可以在部分层次中加以定义,即从角色的臀部到脚跟或者从肩部到手腕。IK 链的末端是 gizmo,即目标。随时重新定位目标或设置目标动画时可以采用各种方法。这些方法通常包括使用链接、参数关联或约束。无论目标如何移动,IK 解算器都尝试移动链中最后一个关节的枢轴(也称终端效应器),以便满足目标的要求。IK 解算器可以对链的部分进行旋转,以便扩展和重新定位末端效应器,使其与目标相符。

使用 IK 解算器设置手臂的动画

通常,末端效应器限于地平面。例如,在角色步行周期中,可以在脚跟抬起时“锁定”脚趾。然后,链中根的移动会使腿部从脚趾处抬起。

3ds Max 附带了四个插件 IK 解算器:

  • HI(历史独立型)解算器

    对角色动画和序列较长的任何 IK 动画而言,HI 解算器是首选的方法。使用 HI 解算器,可以在层次中设置多个链。例如,角色的腿部可能存在一个从臀部到脚踝的链,还存在另外一个从脚跟到脚趾的链。

    因为该解算器的算法属于历史独立型,所以,无论涉及的动画帧有多少,都可以加快使用速度。它在第 2000 帧的速度与在第 10 帧的速度相同。它在视口中稳定且无抖动。该解算器可以创建目标和末端效应器(虽然在默认情况下末端效应器的显示处于关闭状态)。它使用旋转角度调整该解算器平面,以便定位肘部或膝盖。您可以将旋转角度操纵器显示为视口中的控制柄,然后对其进行调整。另外,HI IK 还可以使用首选角度定义旋转方向,使肘部或膝盖正常弯曲。

  • HD(历史依赖型)解算器

    HD 解算器是一种最适用于动画制作计算机的解算器,尤其适用于那些包含需要 IK 动画的滑动部分的计算机。使用该解算器,可以设置关节限制和优先级。它具有与长序列有关的性能问题,因此,最好在短动画序列中使用。该解算器适用于设置动画的计算机,尤其适用于那些包含滑动部分的计算机。

    因为该解算器的算法属于历史依赖型,所以,最适合在短动画序列中使用。在序列中求解的时间越迟,计算解决方案所需的时间就越长。该解算器使您可以将末端效应器绑定到后续对象,并使用优先级和阻尼系统定义关节参数。该解算器还允许将滑动关节限制与 IK 动画组合起来。与 HI IK 解算器不同的是,该解算器允许在使用 FK 移动时限制滑动关节。

  • IK 肢体解算器

    IK 肢体解算器只能对链中的两块骨骼进行操作。它是一种在视口中快速使用的分析型解算器,因此,可以设置角色手臂和腿部的动画。

    使用 IK 肢体解算器,可以导出到游戏引擎。

    因为该解算器的算法属于历史独立型,所以,无论涉及的动画帧有多少,都可以加快使用速度。它在第 2000 帧的速度与在第 10 帧的速度相同。它在视口中稳定且无抖动。该解算器可以创建目标和末端效应器(虽然在默认情况下末端效应器的显示处于关闭状态)。它使用旋转角度调整该解算器平面,以便定位肘部或膝盖。您可以将旋转角度锁定其他对象,以便对其进行旋转。另外,IK 肢体解算器还可以使用首选角度定义旋转方向,使肘部或膝盖正常弯曲。使用该解算器,还可以通过启用关键帧 IK 在 IK 和 FK 之间进行切换。该解算器具有特殊的 IK 设置 FK 姿势功能,使您可以使用 IK 设置 FK 关键点。

  • 样条线 IK 解算器

    样条线 IK 解算器使用样条线确定一组骨骼或其他链接对象的曲率。

    样条线 IK 样条线中的顶点称作节点。同顶点一样,可以移动节点,并对其设置动画,从而更改该样条线的曲率。

    样条线节点数可能少于骨骼数。与分别设置每个骨骼的动画相比,这样便于使用几个节点设置长型多骨骼结构的姿势或动画。

    样条线 IK 提供的动画系统比其他 IK 解算器的灵活性高。节点可以在 3D 空间中随意移动,因此,链接的结构可以进行复杂的变形。

    分配样条线 IK 时,辅助对象将会自动位于每个节点中。每个节点都链接在相应的辅助对象上,因此,可以通过移动辅助对象移动节点。与 HI 解算器不同的是,样条线 IK 系统不会使用目标。节点在 3D 空间中的位置是决定链接结构形状的唯一因素。旋转或缩放节点时,不会对样条线或结构产生影响。

注意: 3ds Max 还可以提供其他两种反向运动学层次操纵方法,这些方法与解算器无关:交互式 IK应用式 IK

IK 与骨骼

虽然可以对对象的任何层次应用 IK 解算器,但是结合使用 IK 解算器的骨骼系统是一个设置角色动画的理想途径。

骨骼系统是一种通过关节连接的骨骼对象层次链接。骨骼可以用作链接对象的支架。如果使用“蒙皮”修改器,可以为骨骼对象制作“蒙皮”,使骨骼动画可以变形用于建立角色模型的网格。如果使用通过关节连接的角色,可以使用链接或约束,使骨骼可以设置网格的动画。

使用蒙皮设置骨骼动画时,会使蒙皮伸缩。

使用蒙皮设置骨骼动画时,会使蒙皮伸缩。

将其他对象转变为骨骼

任何对象都能转变为骨骼对象。对象,然后选择“动画” “骨骼工具”。在“对象属性”卷展栏上,启用“启用骨骼”。然后,可以选择“仅显示链接”,以便使用骨骼替换对象的显示。如果要设置动画的层次与几何体有关,这样可能是很有用的。如果几何体只在链接时隐藏和显示,将会大幅提高交互式视口的响应速度。

可以将任何对象都显示为骨骼对象。对象,然后选择“动画”“骨骼工具”。这将打开“骨骼工具”浮动框。在“对象属性”卷展栏上,启用“启用骨骼”。然后,转到“显示”面板,并在“链接显示”卷展栏中启用“显示链接”和“链接替换对象”,以便显示骨骼,而不显示对象。如果要设置动画的层次与几何体有关,这样可能是很有用的。如果几何体只在链接时隐藏和显示,将会大幅提高交互式视口的响应速度。

任何对象层次都能显示为骨骼。

任何对象层次都能显示为骨骼。

任何对象层次都能显示为骨骼。

骨骼可以随时缩放、挤压和拉伸。请参见将对象用作骨骼

链接显示

使用“显示链接”和“链接替换对象”,可以显示链接,而不显示对象。这些设置可以在“显示”面板的“链接显示”卷展栏中找到。如果要设置动画的层次与几何体有关,这样可能是很有用的。如果几何体只在链接时隐藏和显示,将会大幅提高交互式视口的响应速度。

使用 IK 设置骨骼动画的优点

使用正向运动学技术,可以设置角色运动的动画,使每个肢体可以旋转到相应的位置处,无论是从肩膀到手指,还是从臀部到脚趾,都是如此。但是,使用反向运动学技术模拟与地面进行交互的足部时,可以大幅加快速度,使效果更加逼真。另外,如果需要对动画做以更改,还更加便于进行控制。要更改整个链的动画,无需设置链中每个骨骼的关键帧,只需对一个节点进行更改即可。

另一个方面,对于动画设计人员来讲,将 IK 用于腿部,而将 FK 用于躯干和手臂是司空见惯的事。FK 提供了更多的控件,用于设置上身的姿势。对每种角色动画任务而言,无需使用 IK。使用 HI IK 解算器,可以在 FK 和 IK 之间来回轻松切换。

如何应用 IK 解算器

创建骨骼系统时,可以应用 IK 解算器,或使用“动画”菜单:

  • 创建骨骼

    创建骨骼时,如果启用“指定给子级”选项,将会立即应用 IK 解算器。默认设置为禁用。

  • 使用“动画”菜单 “IK 解算器”,可以对骨骼的部分应用 IK 解算器。必须选择 IK 链要开始的位置处的节点,然后选择“动画”菜单 “IK 解算器”,并选择该解算器。此后,单击链要终止的位置处的节点。此时,将会在两个节点的轴点间创建链。如果使用的是 IK 肢体解算器,将会从链中选定的最高节点开始在两个骨骼的下方放置 IK 目标。

IK 解算器的调整位置

IK 解算器的设置可以在“运动”和“层次”面板中进行调整:

  • “运动”面板

    选中 IK 链中的目标后,“运动”面板将会为各个 IK 解算器显示相应的卷展栏。

    HI 解算器

    “运动”面板参数调整解算器平面的旋转角度,以便指向肘部或膝盖。另外,使用“IK 解算器”卷展栏中的控件,可以通过“启用”和“IK”按钮混合 IK 和 FK(正向运动学)的时段。

    HD 解算器

    “运动”面板参数可以对当前选定关节的末端效应器执行分配、删除和编辑操作。您可以使末端效应器成为其他对象的父对象,然后使骨骼恢复初始姿势。如果在“运动”面板中更改 IK 控制器参数,将会影响整个 HD IK 链,即便只选定一个骨骼,也是如此。

    IK 肢体解算器

    IK 肢体解算器和 HI 解算器的“运动”模板参数相同。

    样条线 IK 解算器

    使用“运动”面板参数,不仅可以激活/取消激活该解算器,而且可以调整分配给起始关节和结束关节的骨骼,还可以调整起始和结束扭曲角度,使扭曲控制柄可以显示设置。

  • “层次”面板
    HI 解算器

    选定骨骼后,“IK”面板将会显示相关控件,用于激活和限制转动关节,并设置关节的首选角度。借助所有关节的首选角度姿势,可以控制肢体的旋转方向。选定目标后,“IK”面板为空。

    HD 解算器

    选择 HD IK 链的末端效应器。在“层次”面板中,单击“IK”。显示的控件将会影响 HD 解算器。另外,您将会找到相关的工具,用于绑定到跟随对象,还可以设置回优先级、关节限制、阻尼和弹性。

    IK 肢体解算器

    选定骨骼后,“IK”面板将会显示相关控件,用于激活和限制转动关节,并设置关节的首选角度。借助所有关节的首选角度姿势,可以控制肢体的旋转方向。选定目标后,“IK”面板为空。如果在应用 IK 解算器之前选择骨骼,将会显示不同的滑动和转动关节参数集,但是,应用 IK 解算器之后,将会替换这些参数。

    样条线 IK 解算器

    选择样条线 IK 链中的样条线。在“层次”面板中,单击“IK”。显示的控件将会影响样条线 IK 解算器。另外,您将会找到相关的工具,用于绑定到跟随对象,还可以设置回优先级、关节限制、阻尼和弹性。“IK”面板中的控件与 HD 解算器中的控件相似。

过程

要向层次或骨骼系统中添加 IK 解算器,请执行下列操作:

  1. 创建骨骼系统或对象的其他任何链接层次。
  2. 选择需要启动 IK 链的位置处的骨骼或对象。
  3. 选择“动画”菜单 “IK 解算器”,然后选择“IK 解算器”:
    • 支持角色动画的 HI 解算器
    • 支持具有滑动关节的机械装配的 HD 解算器
    • 支持两骨骼链的 IK 肢体解算器
    • 用于提高复杂的多骨骼结构控制的样条线 IK 解算器
  4. 单击需要结束 IK 链的位置。

    如果使用的是 IK 肢体解算器,必须应用 IK 解算器,以便只对两个骨骼进行控制。

    IK 解算器显示在视口中。

要创建使用 IK 解算器的骨骼层次,请执行下列操作:

  1. 转到 “创建”面板,单击 (系统),然后单击“骨骼”。
  2. 从“IK 链分配”卷展栏的列表中选择 IK 解算器。
  3. 启用“指定给子级”。
  4. 在视口中单击并拖动鼠标,以便创建骨骼。右键单击即可停止创建骨骼。

    骨骼是通过已经应用的 IK 解算器进行创建的。

    注意:如果使用样条线 IK 解算器,将会打开“样条线 IK 解算器”对话框,您可以在其中对样条线解算器使用的样条线和辅助对象进行特殊设置。

要将对象层次显示为骨骼,请执行下列操作:

  1. 在视口中选择对象的层次。
  2. 从“动画”菜单中选择“骨骼工具”。

    将打开“骨骼工具”对话框。

  3. 展开“对象属性”卷展栏。
  4. 在“骨骼属性”组中,启用“启用骨骼”。
  5. 在“显示”面板中,向下滚动到“链接显示”,然后将其展开。
  6. 在“链接显示”卷展栏中,启用“显示链接”和“链接替换对象”。

    此时,对象将会消失,而链接将会显示为骨骼。

本节内容

  • 历史独立型 (HI) IK 解算器

    HI(历史独立)解算器在时间上不依赖于上一个关键帧计算得到的 IK 解决方案,因此无论在第 2000 帧处还是在第 20 帧处使用 HI 解算器,其速度都一样快。

  • 历史依赖型 (HD) IK 解算器

    通过使用 HD 解算器设置动画,可以将滑动关节与反向运动学结合使用。它具有 HI 解算器中没有的对弹回、阻尼和优先级的控制。还具有用于查看 IK 链的初始状态的快捷工具。设置机器和其他装置的动画时可以使用它。由于此功能与历史有关,因此在较长动画结束时性能会下降。对于冗长的场景,应尽可能使用 HI 解算器。

  • IK 肢体解算器

    IK 肢体解算器专门用于设置人类角色的肢体的动画;例如,从臀部到脚踝,或从肩膀到手腕。每个 IK 肢体解算器仅影响链中的两个骨骼,但可以将多个解算器应用于同一个链中的不同部分。它是一个分析性解算器,在视口中使用时速度非常快,而且十分精确。

  • 样条线 IK

    样条线 IK 解算器使用样条线确定一组骨骼或其他链接对象的曲率。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文