创建和编辑 nCloth 碰撞

 
 
 
注意
  • 在 Nucleus“属性编辑器”(Attribute Editor)选项卡中启用“使用平面”(Use Plane)可以为 nCloth 启用地板碰撞。
  • 在模拟过程中,Maya 会降低对象的相对“碰撞厚度”(Collision Thickness)nClothShape 节点),以便它们不会在开始帧重叠。这样可以避免在开始帧突然弹出,但在某些情况下,这可能导致摩擦力增加。在场景视图中无法看到厚度减小的效果。若要避免这种情况,可对开始状态进行建模,使具有厚度的曲面不发生重叠。此外,还可以使用nSolver > 初始状态 > 解决穿透(nSolver > Initial State > Resolve Interpenetration)来解决细微重叠。

请参见 nDynamic 碰撞

创建 nCloth 碰撞对象

  1. 在场景视图中,选择要生成 nCloth 被动对象的多边形网格。
  2. 选择要为其创建被动对象的 nCloth。
  3. “nDynamics”菜单集中,选择nMesh > 创建被动碰撞对象(nMesh > Create Passive Collider)

    所创建的多边形网格成为所选 nCloth 的一个碰撞对象或被动对象。被动对象通过 nRigid 节点连接到 nCloth 的 Maya Nucleus 解算器。

设置 nCloth 对象和被动对象的碰撞方式

  1. 在场景视图中,选择要编辑其碰撞的 nCloth 对象或被动对象。
  2. “属性编辑器”(Attribute Editor)中,选择您的 nCloth (nClothShape) 对象或被动 (nRigidShape) 对象的选项卡。
  3. “碰撞”(Collisions)部分,设置“碰撞强度”(Collide Strength)

    “碰撞强度”(Collide Strength)指定 nCloth 对象或被动碰撞对象与其他 Nucleus 对象发生碰撞时产生的力的大小。值为 1(默认值)时,这些对象与其他 Nucleus 对象完全发生碰撞。0 到 1 之间的值可抑制完全碰撞,而值为 0 则会关闭对象的碰撞。

  4. “质量设置”(Quality Settings)部分,设置“碰撞标志”(Collision Flag)

    “碰撞标志”(Collision Flag)指定 nCloth 对象或被动对象的碰撞类型。例如,如果将“碰撞标志”(Collision Flag)设置为“面”(Face),则仅针对“面”(Face)测试 nCloth 对象或被动对象的碰撞。

    若要生成理想的碰撞,属于同一 Maya Nucleus 系统的 nCloth 对象和被动对象应该具有相同的“碰撞标志”(Collision Flag)设置。

设定碰撞层

可以使用碰撞层指定属于同一 Maya Nucleus 系统的某些 nCloth 对象和被动对象是否互相碰撞。nClothShape 节点上的“碰撞层”(Collision Layer)属性确定每个 nCloth 对象和被动对象放置在哪个碰撞层上;Nucleus 节点上的“碰撞层范围”(Collision Layer Range)属性确定不同层上的 nCloths 对象和被动对象如何碰撞。有关这些碰撞层属性的详细信息,请参见碰撞层碰撞层范围

注意

碰撞层中的被动对象只与位于同一碰撞层或更高层中的 nCloth 对象发生碰撞。

阻止 nCloths 对象、被动对象或其组件发生碰撞

可以使用“绘制 nCloth 属性工具”(Paint nCloth Attributes Tool)来创建“碰撞强度”(Collide Strength)顶点贴图或纹理贴图,用于抑制或禁止 nCloth 和被动碰撞对象组件发生碰撞。请参见绘制 nCloth 特性贴图

注意

如果要禁用对象组件发生碰撞,请确保将区域绘制为全黑。使用没有任何衰减的“Artisan”画笔(如 )并确保“不透明度”(Opacity)设置为 1.0。nCloth 或被动碰撞网格的灰度区域将碰撞。

您也可以使用“禁用碰撞”(Disable Collision)约束来阻止 nCloth、被动对象或其组件发生碰撞。 请参见创建禁用碰撞约束

阻止 nCloth、被动对象或其组件与特定 Maya Nucleus 系统成员发生碰撞

请参见创建排除碰撞对约束

提高 nCloth 碰撞的精确度

提高 nCloth 碰撞的精确度

  1. 选择要提高其精确度并改进其碰撞的 nCloth 或被动对象。
  2. “属性编辑器”(Attribute Editor)中,执行以下操作:
    • 调整 nCloth 或被动对象的“厚度”(Thickness)。选择 nClothShape 或 nRigidShape 选项卡,然后在“碰撞”(Collisions)部分中更改“厚度”(Thickness)值。为获得最佳效果,碰撞体积看上去应紧贴 nCloth。
    • 调整 nCloth 对象的“自碰撞厚度”(Self Collision Thickness)。选择 nClothShape 选项卡,然后在“碰撞”(Collisions)部分中,更改“自碰撞宽度比例”(Self Collide Width Scale)值。
    • 调整 nCloth 对象的“碰撞标志”(Collision Flag)。选择 nClothShape 选项卡,然后在“碰撞”(Collisions)部分中,更改“碰撞标志”(Collision Flag)下拉列表中的选择。选择“面”可创建精确度最高的碰撞;选择“顶点”(Vertex)可创建精确度最低的碰撞。
    • 调整 nCloth 的“自碰撞标志”(Self Collision Flag)。选择 nClothShape 选项卡,然后在“碰撞”(Collisions)部分中,更改“自碰撞标志”(Self Collision Flag)下拉列表中的选择。
    • 增大 nCloth 的碰撞迭代次数,方法是在其 Nucleus 选项卡的“质量设置”(Quality Settings)部分中,调整其“最大自碰撞迭代次数”(Max Self Collide Iterations)属性。
    • 解决 nCloth 的穿透,方法是在 nClothShape 和 nRigidShape 选项卡的“质量设置”(Quality Settings)部分中,调整其“陷阱检查”(Trapped Check)“向外推”(Push Out)“交叉推力”(Crossover Push)属性。