约束 IK 系统
 
 
 

可以使用“点约束”将“IK 控制柄”(IK Handle)约束到控制对象 (ArmControl)。点约束可用于使一个对象的变换属性由另一对象的变换控制。例如,无需触动“IK 控制柄”(IK Handle)即可选择和放置 ArmControl。也可以设定约束,以便保持 ArmControl 与“IK 控制柄”(IK Handle)的当前距离(偏移)。偏移将确保受约束的 IK 控制柄不会移动到与控制对象相同的位置。

“IK 控制柄”(IK Handle)约束到控制对象

  1. “Hypergraph”中,选择 ArmControl 节点,然后按住 Shift 键并选择 ikHandle1 节点。

    当应用约束时,选择的顺序很重要:必须首先选择约束对象,然后选择要约束的项目。

  2. 在主菜单中,选择“约束 > 点”(Constrain > Point)>

    将出现“点约束选项”(Point Constraint Options)窗口。

  3. “点约束选项”(Point Constraint Options)窗口中,执行下列操作:
    • 选择“编辑 > 重置设置”(Edit > Reset Settings),将工具设定为其默认设置。
    • 启用“保持偏移”(Maintain Offset)设置。
    • 单击“添加”(Add)按钮。

    IK 控制柄已约束到控制对象。在“Hypergraph”中,已在 ikHandle1 节点之下创建约束节点。

  4. “Hypergraph”中,仅选择 ArmControl 节点。
  5. “工具箱”(Toolbox)中,选择“移动工具”(Move Tool)
  6. 在侧视图中,拖动操纵器以重新定位控制对象。(仅在侧视图中尝试几个不同的位置。)

    拖动操纵器时,控制对象将发生移动,进而移动“IKHandle”。因为 IK 控制柄控制骨架和机械臂模型,所以骨架和机械臂模型也会发生移动。控制对象和“IK 控制柄”(IK Handle)之间的偏移将保持不变。

旋转时,货物磁体不会持续向下指。货物磁体方向基于其在原始位置发生的旋转。

如果将货物磁体设定为向下朝向场景地板的方向,不考虑手臂其他组件的方向,则机械臂的姿势将更易于设定。

用方向约束使 CargoMagnet 向下指。方向约束将约束对象 X、Y 和 Z 轴的方向(旋转),以便与约束(目标)对象相匹配。

在接下来的步骤中,将机械臂的位置重置为其默认位置,然后将方向约束应用于 IK 系统中的最后一个关节,以使其方向与控制对象相匹配。产生的效果是 CargoMagnet 始终向下指,不考虑场景中其他任何移动。

将 IK 系统设定为其默认位置

  1. “Hypergraph”中,选择 ArmControl 节点。
  2. 通过单击“显示/隐藏通道盒”(Show/Hide Channel Box)图标 ,打开“通道盒”(Channel Box)
  3. “通道盒”(Channel Box)中,将 ArmControl 的 X、Y 和 Z 变换设定为 0。

    因为在之前节中执行了冻结变换步骤,所以将 ArmControl 上的变换设置为 0 会将机械臂重置为其主位置。

  4. 通过单击“显示/隐藏通道盒”(Show/Hide Channel Box)图标,关闭“通道盒”(Channel Box)

为 IK 系统应用方向约束

  1. “Hypergraph”菜单中,选择“视图 > 框显全部”(View > Frame All)

    “Hypergraph”将显示场景中的所有节点。

  2. “Hypergraph”中,选择 ArmControl,然后按住 Shift 键并选择名为 joint4 的节点。(您可能需要推拉和平移“Hypergraph”视图,才能查看这些节点。)
  3. 在主菜单栏中,选择“约束 > 方向”(Constrain > Orient)>
  4. “方向约束选项”(Orient Constraint Options)窗口中,执行下列操作:
    • 选择“编辑 > 重置设置”(Edit > Reset Settings),将工具设定为默认设置。
    • 单击“添加”(Add)按钮。

    Joint4 已约束为与控制对象的方向相同。在“Hypergraph”中,已在层次中的 joint4 节点下创建约束节点。

  5. 仅选定 ArmControl 节点时,使用“移动工具”(Move Tool)来重新定位侧视图中的 ArmControl。

    无论机械臂在侧视图中如何放置,CargoMagnet 都将保持朝向场景地板的方向。

在下一节中,您将了解如何限制 IK 系统的移动范围。