限制 IK 系统的运动范围
 
 
 

可以移动 ArmControl,以使机械臂完全延伸到拉直的位置,或者将机械臂本身以并不需要的其他位置为方向。

可以限制机械臂的运动范围,以确保 IK 系统能够以可预测的方式设定姿势。在以下部分中,将按如下方式限制 IK 系统的运动:

为 ArmControl 锁定“平移 X”(Translate X)通道

  1. “Hypergraph”中,选择 ArmControl 节点。
  2. 打开“通道盒”(Channel Box)以查看 ArmControl 的变换通道。
  3. 将所有“平移”(Translate)“旋转”(Rotate)通道设定为 0(如果尚未进行设定)。
  4. “通道盒”(Channel Box)中,通过单击“平移 X”(Translate X)通道的名称选择该通道。
  5. “平移 X”(Translate X)上单击鼠标右键。

    此时将显示一个下拉菜单。

  6. 从该下拉菜单中,选择“锁定选定项”(Lock Selected)

    “平移 X”(Translate X)的数值字段将以暗灰色显示,指示该通道已锁定。除非解除锁定“平移 X”(Translate X)通道,否则无法在 X 方向上移动 ArmControl。

为 SwivelBase 锁定“旋转 X”(Rotate X)和“旋转 Z”通道

  1. “Hypergraph”中,仅选择 SwivelBase 节点。
  2. 打开“通道盒”(Channel Box)以查看 SwivelBase 的旋转通道。
  3. 将所有“平移”(Translate)“旋转”(Rotate)通道设定为 0(如果尚未进行设定)。
  4. “通道盒”(Channel Box)中,通过按住 Ctrl 键并单击“旋转 X”(Rotate X)通道和“旋转 Z”(Rotate Z)通道的名称,选择这些通道。
  5. 在任一选定名称上单击鼠标右键,并从出现的下拉菜单中选择“锁定选定项”(Lock Selected)

确认“旋转 X”(Rotate X)和“旋转 Z”通道已锁定

  1. “Hypergraph”中,确保仅选中 SwivelBase 节点。
  2. 在视图中,选择“面板 > 正交 > 顶”(Panels > Orthographic > top)
  3. 在视图中,选择“明暗处理 > 对所有项目进行平滑明暗处理”(Shading > Smooth Shade All)
  4. 推拉顶视图,以便可以完全查看机械臂,如下图所示。
  5. “通道盒”(Channel Box)中,通过在“旋转 Y”(Rotate Y)通道中键入 45 并按 Enter 键,来旋转 SwivelBase。

    SwivelBase 将在视图中旋转,但机械臂没有旋转。您首先可能会认为发生了错误,因为 SwivelBase 以及机械臂的所有骨架和曲面被设置为同一层次的子对象。

    注意

    在设置 IK 系统时,您有时可能会发现,某些操作并不会按最初预期的方式进行。发生这种情况时,最好停止并诊断为何它这样操作(或者为何它不按预期方式进行)。这样可以追溯您的操作,以确定问题所在。

ArmControl 和“IK 控制柄”(IK Handle)未设置为 SwivelBase 层次的子对象。因为 ArmControl 和“IK 控制柄”(IK Handle)控制机械臂的移动,所以必须将 ArmControl 和“IK 控制柄”设置为 SwivelBase 层次的子对象,才能使机械臂在 SwivelBase 旋转时进行旋转。

“IK 控制柄”(IK Handle)设置为骨架层次的子对象

  1. “Hypergraph”中,选择 SwivelBase 节点。
  2. “通道盒”(Channel Box)中,将 SwivelBase 的“旋转 Y”(Rotate Y)通道重置为 0。

    在将“IK 控制柄”(IK Handle)设置为层次中 SwivelBase 的子对象之前,必须将先前的所有变换设定为零。

  3. 在执行下列步骤之前,取消选择 SwivelBase 节点。
  4. “Hypergraph”菜单中,选择“视图 > 框显全部”(View > Frame All)

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

  5. “Hypergraph”中,按住 Shift 键并选择名为 ikHandle1、ArmControl 和 SwivelBase 的节点。

    选择的顺序很重要。首先要按住 Shift 键并选择将成为子节点的项目,然后再按住 Shift 键并选择将成为父节点的项目。

  6. 在主菜单中,选择“编辑 > 父对象”(Edit > Parent)(热键 p)。

    “Hypergraph”中,“IK 控制柄”(IK Handle)和 ArmControl 现在是骨架层次中 SwivelBase 节点的子节点。

  7. “Hypergraph”中,仅选择 SwivelBase。
  8. “通道盒”(Channel Box)中,将 SwivelBase 的“旋转 Y”(Rotate Y)设定为 45。

    旋转 SwivelBase 时,机械臂因其在层次中的关系也会旋转。

  9. 将 SwivelBase 的“旋转 Y”(Rotate Y)值重置回 0。

最后,需要限制机械臂控制对象可以在距模型底座多大距离内平移,才能使机械臂不会延伸到完全拉直的位置。

若要确定平移限制的设置,需要在“通道盒”(Channel Box)中查看平移值的同时,检查各个位置的机械臂的位置。

确定机械臂控制对象的平移限制

  1. “Hypergraph”中,选择 ArmControl。
  2. 确保打开“通道盒”(Channel Box),以便可以查看 ArmControl 的平移通道。
  3. 在视图中,选择“面板 > 正交 > 侧”(Panels > Orthographic > side)
  4. 推拉侧视图,以便可以完全查看机械臂。
  5. 选择“移动工具”(Move Tool)
  6. 在侧视图中,单击鼠标中键并沿对角方向拖动鼠标,直到机械臂完全伸展为止,如下图所示。
  7. “通道盒”(Channel Box)中,观察显示在“平移 Y”(Translate Y)和“平移 Z”通道中的数字。

    如果机械臂是在货物箱上方对角铰接的,那么当平移值大致如下时,机械臂几乎会完全伸展:

    • 平移 Y(Translate Y):7.5
    • 平移 Z(Translate Z):1
  8. 在侧视图中,按住鼠标中键并沿对角方向拖动鼠标,直到机械臂几乎完全压缩,如下图所示。
  9. “通道盒”(Channel Box)中,观察显示在“平移 Y”(Translate Y)和“平移 Z”通道中的数字。

    当机械臂铰接到压缩姿势时,平移值会大致如下:

    • 平移 Y(Translate Y):-13
    • 平移 Z(Translate Z):-13

    上述最小值和最大值将在接下来的步骤中用作对 ArmControl 的最小平移限制和最大平移限制。

为机械臂控制对象设定平移限制

  1. “Hypergraph”中,选择 ArmControl 节点。
  2. 打开“属性编辑器”(Attribute Editor)“窗口 > 属性编辑器”(Window > Attribute Editor),或者在“状态行”(Status Line)上单击“显示/隐藏属性编辑器”(Show/Hide Attribute Editor)图标 )。

    “属性编辑器”(Attribute Editor)将显示与机械臂控制对象关联的节点。

  3. “属性编辑器”(Attribute Editor)中,单击“ArmControl”选项卡。

    如果“ArmControl”选项卡不可见,请使用左滚动箭头和右滚动箭头横向滚动视图进行查看。

  4. “属性编辑器”(Attribute Editor)中,展开“限制信息”(Limit Information)属性,然后展开“平移”(Translate)属性。
  5. “平移”(Translate)属性中,单击“最小值”(Min)“最大值”(Max)对应的“平移限制 Y”(Trans Limit Y)和“平移限制 Z”复选框,然后设定下列值:
    • 平移限制 Y(Trans Limit Y)(最小值):-13
    • 平移限制 Y(Trans Limit Y)(最大值):7.5
    • 平移限制 Z(Trans Limit Z)(最小值):-13
    • 平移限制 Z(Trans Limit Z)(最大值):1
  6. 隐藏“属性编辑器”(Attribute Editor)
  7. 选择“ArmControl”。
  8. 在侧视图中,移动 ArmControl 以测试 IK 系统的移动范围。

    机械臂会在一个受限的运动范围内移动。