创建 nHair 约束

 
 
 

可以在 nHair 上使用 nConstraint 设计头发曲线的样式以及定位和固定头发曲线。创建约束时,请注意以下行为:

另请参见约束 Nucleus 对象

创建 nHair 变换约束

可以创建“变换”(Transform)约束,以原地固定特定 nHair 曲线 CV,或者在 XYZ 空间中移动。

创建 nHair“变换”(Transform)约束的步骤

  1. 在场景视图中,选择要约束的头发曲线 CV。请参见选择用于 nConstraint 的曲线组件
  2. “nDynamics”菜单集中,选择nConstraint > 变换(nConstraint > Transform)

    现在,选定的 nHair 曲线 CV 受其在 X、Y、Z 空间中的当前位置约束,并为选定 nHair 曲线组件创建了“变换”(Transform)约束定位器。

    现在,曲线还通过“dynamicConstraint”节点连接到 nHair 系统的 Nucleus 解算器。

    dynamicConstraint 节点上的预设特性确定约束的类型(在这种情况下为“变换”(Transform)约束)及其行为方式。例如,可以使用以下属性设置创建“变换”(Transform)约束:

    • “弹簧”(Spring)作为“约束方法”(Constraint Method)
    • “全部到第一个”(All to First)作为“组件关系”(Component Relation)
    • “在最大距离内”(Within Max Distance)作为“连接方法”(Connection Method)

      “在最大距离内”(Within Max Distance)可以很好地与“变换”(Transform)约束结合使用。

    请参见 dynamicConstraintShape

  3. (可选)将骨架模型中“变换”(Transform)约束的 dynamicConstraint 节点设置为父节点,以确保约束与已设置动画的角色一起移动。

创建 nHair“组件到组件”(Component to Component)约束

可以创建“组件到组件”(Component to Component)约束,以将头发系统曲线附加到其他 nHair 曲线或其他 Nucleus 对象组件。例如,可以使选定的头发曲线 CV 受被动碰撞发夹或条状发夹顶点的约束,以便头发固定在原地。

  1. 在场景视图中,选择要约束的头发曲线 CV。请参见选择用于 nConstraint 的曲线组件
  2. 选择要使选定的头发曲线 CV 受其约束的 Nucleus 对象的目标组件。如果选择边或面,则其所有顶点均将受头发约束。
    注意

    如果选择了非 Nucleus 对象上的目标组件,则创建约束后,该对象将成为被动对象。

  3. “nDynamics”菜单集中,选择nConstraint > 组件到组件(nConstraint > Component to Component)

    选定的头发曲线 CV 现在受选定目标顶点的约束,并且现在通过 dynamicConstraint 节点连接到了 nHair 系统的 Maya Nucleus 解算器。

    dynamicConstraint 节点上的预设特性确定约束的类型(在这种情况下为“组件到组件”(Component to Component)约束)及其行为方式。例如,可以使用以下属性设置创建“组件到组件”(Component to Component)约束:

    • “弹簧”(Spring)作为“约束方法”(Constraint Method)
    • “全部到全部”(All to All)作为“组件关系”(Component Relation)
    • “最近的对”(Nearest Pairs)作为“连接方法”(Connection Method)

    请参见 dynamicConstraintShape

创建 nHair“点到曲面”(Point to Surface)约束

可以创建“点到曲面”(Point to Surface)约束,以将头发曲线 CV 附加到目标曲面,例如变形 nCloth 曲面或被动碰撞对象。例如,可以使用“点到曲面”(Point to Surface)约束将 nCloth 帽或头带固定至角色的头发。

创建 nHair“点到曲面”(Point to Surface)约束的步骤

  1. 在场景视图中,选择要约束的头发曲线 CV。请参见选择用于 nConstraint 的曲线组件
  2. 在要使头发曲线组件受其约束的目标曲面上单击鼠标右键 ()。

    目标曲面可以是 nCloth 或被动对象,也可以是非 Nucleus 多边形网格。

    注意

    如果选择的目标曲面是 nCloth 或被动碰撞对象,则创建约束后,该曲面将成为被动对象。

  3. “nDynamics”菜单集中,选择nConstraint > 点到曲面(nConstraint > Point to Surface)

    选定的 nHair 曲线组件现在受选定目标曲面的约束,并且现在通过 dynamicConstraint 节点连接到了 nHair 系统的 Maya Nucleus 解算器。

    dynamicConstraint 节点上的预设特性确定约束的类型(在这种情况下为“点到曲面”(Point to Surface)约束)及其行为方式。例如,可以使用以下属性设置创建“点到曲面”(Point to Surface)约束:

    • “弹簧”(Spring)作为“约束方法”(Constraint Method)
    • “对象到对象”(Object to Object)作为“约束关系”(Constraint Relation)
    • “全部到第一个”(All to First)作为“组件关系”(Component Relation)
    • “在最大距离内”(Within Max Distance)作为“连接方法”(Connection Method)
    • “在开始处”(At Start)作为“连接更新”(Connection Update)

    请参见 dynamicConstraintShape

创建 nHair“在曲面上滑动”(Slide on Surface)约束

可以创建“在曲面上滑动”(Slide on Surface)约束,以将头发曲线 CV 附加到目标曲面(例如 nCloth 或被动碰撞对象曲面),并允许受约束的曲线对象沿约束它的曲面移动或滑动。用户可以使用“在曲面上滑动”(Slide on Surface)约束代替碰撞,且在大多数情况下,其工作速度比碰撞快。例如,可以使用“在曲面上滑动”(Slide on Surface)约束使头发曲线受 Nucleus 对象约束,以便对象彼此吸引而不发生碰撞。

注意
  • 如果对 nHair 对象使用“在曲面上滑动”(Slide on Surface)约束来代替碰撞,则请禁用 hairSystemShape 节点“属性编辑器”(Attribute Editor)选项卡中的“碰撞”(Collide)。否则,将同时计算碰撞和约束。
  • 如果对 nHair 对象使用“在曲面上滑动”(Slide on Surface)约束来代替碰撞,则无法有效使用“碰撞层”(Collision Layers)来控制 Maya Nucleus 系统中可与受约束的头发曲线碰撞的成员。

创建 nHair“在曲面上滑动”(Slide on Surface)约束的步骤

  1. 在场景视图中,选择要约束的头发曲线 CV。请参见选择用于 nConstraint 的曲线组件
  2. 在要使头发曲线组件受其约束的目标曲面上单击鼠标右键 ()。

    目标曲面可以是 nCloth 或被动对象,也可以是非 Nucleus 多边形网格。

    注意

    如果选择的目标曲面是 nCloth 或被动碰撞对象,则创建约束后,该曲面将成为被动对象。

  3. “nDynamics”菜单集中,选择nConstraint > 在曲面上滑动(nConstraint > Slide on Surface)

    选定的 nHair 曲线组件现在受选定目标曲面的约束,并且现在通过 dynamicConstraint 节点连接到了 nHair 系统的 Maya Nucleus 解算器。

    dynamicConstraint 节点上的预设特性确定约束的类型(在这种情况下为“在曲面上滑动”(Slide on Surface)约束)及其行为方式。例如,可以使用以下属性设置创建“在曲面上滑动”(Slide on Surface)约束:

    • “弹簧”(Spring)作为“约束方法”(Constraint Method)
    • “对象到对象”(Object to Object)作为“约束关系”(Constraint Relation)
    • “全部到第一个”(All to First)作为“组件关系”(Component Relation)
    • “在最大距离内”(Within Max Distance)作为“连接方法”(Connection Method)
    • “逐帧”(Per Frame)作为“连接更新”(Connection Update)
    • 启用“局部碰撞”(Local Collide)特性

    请参见 dynamicConstraintShape

创建“力场”(Force Field)约束

可以创建“力场”(Force Field)约束,以在具有球形体积边界的径向场中推动 nHair 曲线 CV 远离约束的中心。例如,可以向外推特定的头发曲线,为头发样式创建基本形状。

创建“力场”(Force Field)约束

  1. 在场景视图中,选择要约束的头发曲线 CV。请参见选择用于 nConstraint 的曲线组件
  2. “nDynamics”菜单集中,选择nConstraint > 力场(nConstraint > Force Field)

    “力场”(Force Field)定位器将显示在选定头发曲线的旁边,而dynamicConstraint 节点将显示在“属性编辑器”(Attribute Editor)中。

  3. 使用 Maya 的“移动”(Move)“旋转”(Rotate)“缩放”(Scale)工具调整“力场”(Force Field)约束的位置、大小和旋转。

    定位器的位置、大小和旋转决定力场约束的大小、形状和体积。

  4. (可选)调整 dynamicConstraint 节点上的“力”(Force)“强度”(Strength)“强度衰减”(Strength Dropoff)属性,以确定力场的强度。正值会使力场向外推头发曲线,而负值会使力场向内吸头发曲线。

相关主题