使用约束

在对象上创建任意数量的点和方向约束以及二者的任意组合。

在对象上创建约束

本部分介绍如何对 DAG 节点应用限制。

约束一词描述可以对任意 DAG 节点应用的常规限制。点约束会修改一个对象的平移,使其与要将该对象约束到的对象位置匹配。方向和目标约束修改受约束对象的旋转,使其局部坐标轴与约束对象的局部坐标轴(方向)或约束对象的选定目标轴心点(目标)匹配。

“Create constraint”会将当前受约束对象平移或旋转到约束的位置和方向。可以在对象上创建任意数量的点和方向约束以及二者的任意组合。也可以将现有约束复制和镜像到骨骼上。

创建约束

  1. 使用“Pick”>“Object” 选择一个对象,或者在 SBD 窗口中拾取一个对象 DAG 节点。
  2. 从菜单栏中选择“Animation”>“Tools”>“Create Constraint”

    根据您在“Create Constraint Options”窗口中设置的“Constraint Type”,系统会提示您拾取一个关节或节点。

    例如,系统提示:

    Pick a joint or node to constrain.
    
  3. 请在建模窗口或 SBD 窗口中拾取一个对象。您会看到对象旁显示选择控制柄和/或控制工具,使您能够使用新约束。
    注:

    可以稍后在“Information window”(选择“Windows”>“Information”>“Information Window”)的“Constraint Information”部分中更改约束的值,但不能更改其类型或目标。

提示与技巧

一般情况下,直接对骨骼关节应用约束并没有用处。例如,如果对关节应用了点约束,则移动约束对象会导致骨骼被拉伸。通常,应创建 IK 控制柄(使用“Animation”>“IK”>“Add IK Handle”),然后将 IK 控制柄约束到某个对象。为了使该过程更加轻松,如果将“Animation”>“Tools”>“Create Constraint” 应用于骨骼关节,将会创建一个 IK 控制柄,并在 SBD 窗口中添加一个空节点。

简单方向示例

  1. 使用“Surfaces”>“Primitives”>“Cone” 创建圆锥体。
  2. 选择“Animation”>“Tools”>“Create Constraint” 并启用“orientation constraint”和“create selection handle”。单击“Go”。

    此时将在新约束上创建选择控制柄。

  3. 选择“Animation”>“Pick”>“Selection Handle” 并单击控制柄。
  4. 选择“Animation”>“Tools”>“Move Selection Handle”
  5. 将控制柄拖离圆锥体。
  6. 在控制柄处于选取状态时(由于圆锥体受约束的影响,因此也处于激活状态),选择“Transform”>“Rotate”
  7. 单击并拖动选择控制柄,更改其方向。当控制柄旋转时,圆锥体会随之旋转。

分组 IK 操纵示例

烘焙动画和使用运动模糊补偿

有时您会希望通过约束动画生成动画曲线。“Bake”可使用关键帧以指定的固定时间间隔创建动画曲线。可以查看这些曲线并对其进行手动编辑。

约束动画仅限于 -180/+180 度的范围。如果约束从 -180 突然增加到 +180,对象实际上并不会移动。不过,运动模糊采样会读取以上读数范围之间的值,而对象显示为翻转。使用“Bake”时,只要系统检测到该翻转问题,就会使用“Motion Blur compensation”在运动模糊采样时间创建附加关键帧。采样点位于帧加上/减去以下值的位置:

(RenderByFrame * ShutterAngle) / 720

提示与注释

将一个对象约束到另一对象

在对象上创建 UV 点、方向或目标约束。

“Constrain to”会创建可将受约束对象平移或旋转到相应位置的约束。可以在对象上创建任意数量的 UV 点、方向或目标约束以及它们的任意组合。

将一个对象约束到另一对象

  1. 使用“Pick”>“Object” 选择一个对象,或者在 SBD 窗口中拾取一个对象 DAG 节点。
  2. 选择“Animation”>“Tools”>“Constrain To”

    系统的提示取决于您在“Constrain To Options”窗口中设置的约束类型。

    • 如果“Constraint Type”为“Point”(默认设置),系统会提示:
      	Pick the DAG node whose rotate pivot will be a POINT constraint for the selected node. 
      
    • 如果“Constraint Type”设置为“Aim”,系统会提示:
      	Pick the DAG node which the node’s local x axis will AIM at.
      
    • 如果“Constraint Type”设置为“Orientation”,系统会提示:
      	Pick the DAG node whose local axis will be an ORIENTATION constraint for the selected node.
      
  3. 在建模窗口或 SBD 窗口中,拾取符合提示中所述条件的对象。
    注:

    在建模视图中,可能会显示一条线来表示约束。这条线仅在不符合约束时显示。

点约束示例

  1. 使用“Surfaces”>“Primitives”>“Sphere”“Animation”>“Tools”>“Jack” 创建两个基本球体和一个控制工具。
  2. 在“Constrain To Options”窗口(“Animation”>“Tools”>“Constrain To” )中,确保单击“Point”选项将其设置为“ON”
  3. 在控制工具处于激活状态时,选择“Animation”>“Tools”>“Constrain To” 并拾取左侧球体。

    请注意控制工具如何移动到它所约束的球体处。

  4. 在控制工具仍然处于激活状态的情况下,选择“Constrain to”并拾取右侧球体。

    请注意,控制工具在两个球体之间移动。

    注:

    控制工具与两个球体的距离相等,因为约束的权重相等。如果一个约束的权重较大,则控制工具与具有较大权重约束的球体距离更近。若要更改权重,请使用“Windows”>“Information”>“Information Window”

  5. 不拾取任何对象,然后拾取右侧球体。

    控制工具将改变颜色,以指示它已约束到所选球体:

  6. 移动活动球体,然后拾取并移动左侧球体。

    控制工具会相对于约束它的两个对象移动:

方向约束示例

  1. 使用“Surfaces”>“Primitives”>“Sphere”“Surfaces”>“Primitives”>“Cone” 创建一个球体和一个圆锥体。
  2. 在圆锥体处于拾取状态时,选择“Animation”>“Tools”>“Constrain To” 并确保“Orientation”为“ON”。单击“Go”,然后单击球体。
  3. 在不拾取任何对象的情况下,拾取球体,然后选择“Transform”>“Rotate” 并旋转该球体。

    请注意,圆锥体随球体一起旋转。

    注:

    可以通过启用对象的局部坐标轴来查看对象方向。为此,请选择“WindowDisplay”>“Toggles”>“Pivots” ,并在选项框中将“Local Axes Display”设置为“ON”

该示例展示如何使一个对象始终朝向另一对象。

目标约束示例

  1. 使用“Surfaces”>“Primitives”>“Sphere”“Surfaces”>“Primitives”>“Cone” 创建一个基本球体和一个圆锥体。
  2. 拾取圆锥体,然后选择“Transform”>“Local”>“Set Local Axes” 以查看其局部坐标轴。
    注:

    圆锥体的尖端(即,要作为目标的部分)沿 Z 轴方向朝上。若要使圆锥体朝向球体,必须沿 X 轴移动。

  3. 在圆锥体处于拾取状态时,选择“Animation”>“Tools”>“Constrain To” 。此时将显示一个选项框。
  4. 在选项框中,确保“Aim”选项为“ON”。

    此时将显示其他控件:将“Aim axis”设置为“Z”,并将“Up axis”设置为“X”。

  5. 单击“Go”,然后单击球体。此时圆锥体指向球体。
  6. 在不拾取任何对象的情况下,拾取球体,然后选择“Transform”>“Move” 并移动该球体。

    请注意,圆锥体仍然指向球体。

提示与技巧

一般情况下,直接对骨骼关节应用约束并没有用处。例如,如果对关节应用点约束,则移动约束对象会拉伸骨骼。

通常,应为骨骼关节创建 IK 控制柄(使用“Animation”>“IK”>“Add IK Handle”),然后将该 IK 控制柄约束到对象。为了简化该过程,如果将“Animation”>“Tools”>“Constrain To” 应用于骨骼关节,系统会创建一个 IK 控制柄并将其约束到选定对象。

编辑 UV 约束

本部分介绍如何拾取和修改指定给约束目标对象的所有 UV 约束。

编辑 UV 约束

  1. 选择“Animation”>“Tools”>“Edit UV Constraint”
  2. 拾取 UV 约束目标对象或受约束的对象。

    与所拾取对象相关的所有 UV 约束都将显示为标记。

  3. 拾取 UV 标记或使用 Shift 键选择对象。标记变为红色即表示已被拾取。
  4. 单击 UV 标记并移动它,或在提示行上输入 UV 坐标。
    注:

    也可以在“Information window”中打开“Constraint Info”部分来编辑 UV 约束。

启用或禁用约束

使用“Animation”>“Edit”>“Constraints On/Off” 可启用或禁用约束。

当约束为“OFF”时,它的行为就像不存在一样。

通过该功能可以更容易启用或禁用一组约束。例如,您无需拾取任何约束即可切换所有现有约束的状态;将一组活动对象的约束设置为相同状态;仅对选定类型的约束进行更改(即仅更改点约束);或仅对所拾取层次的约束进行更改。可以选择在对象的受约束方或约束方使用约束。

启用或禁用约束

拾取受约束对象时,可以在“Information Window”中将单个约束设置为“ON”或“OFF”。

  1. 如果“Active”选项为启用,请拾取要影响其约束的对象。
  2. 选择“Animation”>“Edit”>“Constraints On/Off” 以设置其状态(“On”或“Off”,取决于选项设置)。

启用和禁用约束显示

在完善动画时,可使用“Animation”>“Show”>“Constraints” 显示对模型的约束。

启用或禁用约束显示

  1. 使用“Animation”>“Tools”>“Constrain To”“Animation”>“Tools”>“Create Constraint” 创建约束。
  2. 选择“Animation”>“Show”>“Constraints”,可禁用约束的显示。若要重新显示它,请再次选择该功能。

删除约束

使用“Delete”>“Animation”>“Delete Constraints” 可从动画移除约束。

删除约束

  1. 使用“Animation”>“IK”>“New Skeleton” 创建骨骼,并使用“Animation”>“Tools”>“Create Constraint” 在骨骼的关节节点中添加一个或多个约束。
  2. 选择“Delete”>“Animation”>“Delete Constraints” 以删除一个关节节点上的约束。此时将显示一个确认框,询问您是否要删除所选 DAG 节点上的约束。
  3. 单击“YES”或键入字母“y”,移除选定点上的约束。如果单击“NO”或键入字母“n”,则不会执行操作。