可以创建“在曲面上滑动”(Slide on Surface)约束,以将 nCloth 组件(顶点、边或面)附加到目标曲面(另一个 nCloth 曲面或被动碰撞对象),并允许受约束 nCloth 组件沿曲面(组件受该曲面约束)移动或滑动。用户可以使用“在曲面上滑动”(Slide on Surface)约束代替碰撞,且在大多数情况下,其工作速度比碰撞快。例如,可以对 nCloth 衬衫中的所有顶点使用“在曲面上滑动”(Slide on Surface)约束,以将这些顶点约束到角色模型,而不是将角色设置为被动对象。
注:
- 如果对 nCloth 对象使用“在曲面上滑动”(Slide on Surface)约束代替碰撞,请禁用 nCloth 的 nClothShape“属性编辑器”(Attribute Editor)选项卡中的“碰撞”(Collide)。否则,将同时计算碰撞和约束。
- 如果对 nCloth 对象使用“在曲面上滑动”(Slide on Surface)约束代替碰撞,则可以使用“碰撞层”(Collision Layers)来有效控制 Maya Nucleus 系统中可与受约束 nCloth 对象碰撞的成员。
创建 nCloth“在曲面上滑动”(Slide on Surface)约束
- 在场景视图中,选择要约束的 nCloth 组件(顶点、边或面)。如果选择边或面,则其所有顶点将受约束。
- 键并选择要将 nCloth 组件约束到的目标曲面。目标曲面可以是同一系统的一部分的其他 nCloth 对象、nCloth 被动对象中的一个或非 nCloth 对象。
注:
如果选定的目标曲面是非 nCloth 对象,则创建约束后,该曲面将成为被动对象。
- 在 FX 菜单集中,选择 > 。
- (可选)在“创建在曲面上滑动约束选项框”(Create Slide on Surface Constraint Options Box)窗口中,启用“使用集”(Use Sets)以将 nCloth 组件和选定的目标曲面添加到动态约束选择集。
- 单击“创建约束”(Create Constraint)或“应用”(Apply)。
选定的 nCloth 组件现在受选定的目标曲面约束,并且现在通过 dynamicConstraint 节点连接到 nCloth 的 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。