创建和编辑 nParticle 约束

 
 
 

可以选择 nParticle 对象并将约束应用到初始状态粒子和在初始状态后发射到场景中的粒子。

请参见约束 Nucleus 对象

创建 nParticle“变换约束”(Transform Constraint)

可以创建“变换”(Transform)约束以使 nParticle 对象保持原位或在 XYZ 空间中移动这些对象。例如,可以使“变换”(Transform)受约束的 nParticle 对象在整个场景中跟随其动画 nCloth 或被动对象,方法是使其变换约束定位器成为 nCloth 或被动对象的子对象。

创建 nParticle“变换”(Transform)约束

  1. 在场景视图中,选择要约束的 nParticle 对象。

    如果选择 nParticle 对象,该 nParticle 对象的所有粒子都将进行“变换”(Transform)约束。若要约束选定 nParticle,请使用“组件”菜单。

  2. “nDynamics”菜单集中,选择 nConstraint > 变换 (nConstraint > Transform)>

    将显示“创建变换约束选项框”(Create Transform Constraint Options Box)

  3. 单击“创建约束”(Create Constraint)“应用”(Apply)

    选定的 nParticle 现在受到其在 XYZ 空间中的当前位置的约束,并将为选定 nParticle 对象创建一个“变换”(Transform)约束定位器

    选定的 nParticle 对象现在还通过 dynamicConstraint 节点连接到该对象的 Maya Nucleus 解算器。

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

    • “弹簧”(Spring)作为“约束方法”(Constraint Method)
    • “全部到第一个”(All to First)作为“组件关系”(Component Relation)
    • “组件顺序”(Component Order)作为“连接方法”(Connection Method)

    请参见 dynamicConstraintShape

  4. (可选)设置“变换”(Transform)约束定位器的父子关系,对其设置动画,或将其约束到另一个对象,以对 nParticle 对象的移动进行其他控制。例如,可以对受“变换”(Transform)约束的 nParticle 云的变换约束定位器设置动画,以便当其在空气中漂移时调整其移动方向。

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

可以创建“组件到组件”(Component to Component)约束来将 nParticle 对象附加到其他 nParticle 对象或者附加到 nCloth 或被动对象组件。例如,可以将 nParticle 约束到角色的 nCloth 衬衫的顶点,以使衬衫随角色移动时 nParticle 依附到该衬衫上。

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

  1. 在场景视图中,选择要约束的 nParticle 对象。
  2. 选择目标 nParticle 对象或 nCloth 对象、被动对象或非 nCloth 对象上要将 nParticle 对象约束到的目标组件(顶点、边或面)。如果选择边或面,其所有顶点都将受到约束。
  3. 注意

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

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

    将显示“创建组件到组件约束选项框”(Create Component to Component Constraint Options Box)

  5. (可选)启用“使用集”(Use Sets)可将选定的目标对象的组件添加到动态约束选择集中。
  6. 单击“创建约束”(Create Constraint)“应用”(Apply)

    nParticle 对象现在约束到其他目标 nParticle 对象或者约束到选定的 nCloth 或被动对象的目标顶点,并且现在它们通过 dynamicConstraint 节点连接到 nParticle 对象的 Maya Nucleus 解算器。

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

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

    请参见 dynamicConstraintShape

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

可以创建“点到曲面”(Point to Surface)约束以将 nParticle 对象附加到目标曲面(nCloth 曲面或被动碰撞对象)。例如,可以使用“点到曲面”(Point to Surface)约束使水 nParticle 保持在 nCloth 伞的曲面上。

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

  1. 在场景视图中,选择要约束的 nParticle 对象。
  2. 按住 键选择要将 nParticle 对象约束到的目标曲面。

    目标曲面可以是与 nParticle 对象属于同一 Nucleus 系统的 nCloth 或被动对象,也可以是非 Nucleus 对象。不能将其他 nParticle 对象作为“点到曲面”(Point to Surface)约束的目标曲面。

    注意

    如果选择属于非 Nucleus 对象的目标曲面,该曲面将在创建约束时成为被动对象。

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

    将显示“创建点到曲面约束选项框”(Create Point to Surface Constraint Options Box)

  4. (可选)启用“使用集”(Use Sets)可将选定的目标曲面添加到动态约束选择集中。
  5. 单击“创建约束”(Create Constraint)“应用”(Apply)

    nParticle 对象现在约束到选定的目标曲面,并且它们均通过 dynamicConstraint 节点连接到 nParticle 对象的 Maya Nucleus 解算器。dynamicConstraint 节点上的预设特性确定约束的类型(在本例中为“点到曲面”(Point to Surface)约束)及其行为。

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

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

    请参见 dynamicConstraintShape

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

可以创建“在曲面上滑动”(Slide on Surface)约束来将 nParticle 对象附加到目标曲面(nCloth 曲面或被动碰撞对象),并允许受约束 nParticle 沿将其约束到的曲面移动或滑动。

可以使用“在曲面上滑动”(Slide on Surface)约束而不是碰撞,在大多数情况下,其运行速度比碰撞更快。例如,可以使用“在曲面上滑动”(Slide on Surface)约束来将液体 nParticle 对象约束到被动对象集合的外部,以使粒子从集合边缘滴下。

注意
  • 如果使用“在曲面上滑动”(Slide on Surface)约束代替 nParticle 对象的碰撞,请在 nParticle 的 nParticleShape“属性编辑器”(Attribute Editor)选项卡中禁用“碰撞”(Collide)。否则,将计算两个碰撞和约束。
  • 如果使用“在曲面上滑动”(Slide on Surface)约束代替 nParticle 对象的碰撞,则不能有效地使用“碰撞层”(Collision Layers)来控制 Maya Nucleus 系统的哪些成员可与受约束 nParticle 对象碰撞。

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

  1. 在场景视图中,选择要约束的 nParticle 对象。
  2. 按住 键选择要将 nParticle 对象约束到的目标曲面。

    目标曲面可以是与 nParticle 对象属于同一 Nucleus 系统的 nCloth 或被动碰撞对象,也可以是非 Nucleus 对象。不能将其他 nParticle 对象作为“点到曲面”(Point to Surface)约束的目标曲面。

    注意

    如果选择属于非 Nucleus 对象的目标曲面,该曲面将在创建约束时成为被动对象。

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

    将显示“创建在曲面上滑动约束选项框”(Create Slide on Surface Constraint Options Box)

  4. (可选)启用“使用集”(Use Sets)可将选定的目标曲面添加到动态约束选择集中。
  5. 单击“创建约束”(Create Constraint)“应用”(Apply)

    nParticle 对象现在约束到目标曲面,并且它们均通过 dynamicConstraint 节点连接到 nParticle 对象的 Maya Nucleus 解算器。

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

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

    请参见 dynamicConstraintShape

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

可以创建“力场”(Force Field)约束以在具有球形体积边界的径向场中推动 nParticle 对象远离约束的中心。

注意

“力场”(Force Field)约束与 Nucleus 对象生成的力场不相关。

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

  1. 选择要约束的 nParticle 对象。
  2. 在“nDynamics”菜单集中,选择 nConstraint > 力场(nConstraint > Force Field) >

    将显示“创建力场约束选项框”(Create Force Field Constraint Options Box)

  3. 单击“创建约束”(Create Constraint)“应用”(Apply)

    “力场”(Force Field)定位器显示在选定 nParticle 对象的中心,dynamicConstraint 节点显示在“属性编辑器”(Attribute Editor)中。

    dynamicConstraint 节点上的预设特性确定约束的类型(在本例中为“力场”(Force Field))及其行为。例如,可以使用以下属性设置创建“力场”(Force Field)约束:

    • “弹簧”(Spring)作为“约束方法”(Constraint Method)
    • “全部到第一个”(All to First)作为“组件关系”(Component Relation)
    • “组件顺序”(Component Order)作为“连接方法”(Connection Method)

    请参见 dynamicConstraintShape

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

    定位器的位置、大小和旋转确定“力场”(Force Field)约束的大小、形状和体积。

  5. (可选)调整 dynamicConstraint 节点上的“力”(Force)“强度”(Strength)“强度衰减”(Strength Dropoff)属性以确定力场的强度。正值会使力场向外推或排斥,负值会使力场吸引 nParticle。

创建“禁用碰撞”(Disable Collision)约束

可以为 nParticle 对象创建“禁用碰撞”(Disable Collision)约束以防止其与所有其他 Nucleus 对象或 Nucleus 对象顶点碰撞。

创建“禁用碰撞”(Disable Collision)约束

  1. 选择要为其禁用碰撞的 nParticle 对象。
  2. 选择 nConstraint > 禁用碰撞(nConstraint > Disable Collision)

    选定的 nParticle 对象不再与共享同一 Maya Nucleus 解算器的任何其他对象或组件碰撞。

创建“排除碰撞对”(Exclude Collide Pairs)约束

可以为 nParticle 对象创建“排除碰撞对”(Exclude Collide Pairs)约束以防止它们与特定 nParticle、nCloth、被动对象或 Nucleus 对象的顶点发生碰撞。

创建“排除碰撞对”(Exclude Collide Pairs)约束

  1. 选择要为其禁用碰撞的 Nucleus 对象或组件对。

    例如,可以选择两个 nParticle 对象、一个 nParticle 对象及一个 nCloth 或被动对象,或者一个 nParticle 对象和一个 nCloth 或被动对象上的一组顶点。

  2. 选择 nConstraint > 排除碰撞对(nConstraint > Exclude Collide Pairs)

    如果选择两个 nParticle 对象,它们不再发生碰撞。如果选择了一个 nParticle 对象及一个 nCloth 或被动对象,它们不再发生碰撞。如果选择了一个 nParticle 对象及一个 nCloth 或被动对象中的一组顶点,则选定顶点不再发生碰撞。

编辑 nParticle 约束成员身份

  1. 选择要编辑其成员身份的约束。
  2. 选择 nConstraint > 选择成员(nConstraint > Select Members)

    组件成员和选定约束的链接在场景视图中亮显。

  3. 选择要编辑其约束成员身份的对象。
  4. 切换到与要针对约束添加、移除或替换的组件类型对应的组件选择模式。

    例如,如果要编辑链接顶点的“组件到组件”(Component to Component)约束的成员身份,请切换到“顶点”(Vertex)选择模式。

  5. 选择要编辑其成员身份的组件。
  6. 执行下列操作之一:

使用“nConstraint 成员身份工具”(nConstraint Membership Tool)编辑动态约束成员身份

  1. 选择要为其编辑动态约束成员身份的受约束的 nParticle、nCloth 或被动对象。
  2. “属性编辑器”(Attribute Editor)中,选择要编辑其成员身份的特定动态约束对应的选项卡(dynamicConstraint),然后单击“选择”(Select)
  3. 在“nDynamics”菜单集中,选择 nConstraint > nConstraint 成员身份工具(nConstraint > nConstraint Membership Tool)
  4. 执行下列操作之一:
    • 选择要替换选定动态约束的当前成员的受约束对象或顶点。
    • 按住 键单击要添加到选定动态约束的对象或顶点。
    • 按住 键单击要从选定动态约束移除的对象或顶点。
  5. 键完成替换、添加或移除动态约束成员操作。