提示

 
 
 

本节提供提示,帮助工作中能更好地使用 nCloth。

常规 Maya Nucleus 解算器和 nCloth 提示

下列是有助于使用 Maya Nucleus 解算器和 nCloth 的常规指示器列表。

动力学(Dynamics)

  • “动力学”(Dynamics)始终以米来计算。如果想在场景中使用厘米,应将“空间比例”(Space Scale)Nucleus节点)设定为 0.01。
  • “动力学”(Dynamics)忽略场景单位,所以如果可能,请使用默认单位。

重力(Gravity)

  • 在场景中,带高“重力”(Gravity)Nucleus 节点)值的 nCloth能需要更高的“拉伸阻力”(Stretch Resistance)nCloth 节点)。
  • 增加“最大碰撞迭代次数”(Max Collision Iterations)Nucleus 节点)来抑制在场景中产生高“重力”(Gravity)效果。

碰撞迭代次数和子步(Collision iterations and substeps)

  • “碰撞迭代”(collision iterations)次数“子步”(substeps)有关:最小的碰撞迭代次数等于子步。只有当碰撞迭代(Collision iterations)次数大于“子步”(substeps)时才会产生影响。
  • 密集网格需要更多“碰撞迭代”(collision iterations)次数来解算。
  • 如果使用低的子步和迭代次数的 Maya Nucleus 解算器,在 nCloth 对象上设定高“拉伸阻力”(Stretch Resistance)值,则模拟可能无法解算拉伸。

空间尺度(Space scales)

  • 世界空间考虑了对象的大小。例如,对象越大,拉伸力越大。
  • 局部空间处理具有大小不同的对象的场景。

性能(Performance)

  • 在某些情况下,增加“子步”(Substeps)Nucleus 节点)可以提高模拟速度。
  • 在使用“陷阱检查”(Trapped Check)“nCloth”节点)时,增加迭代次数有助于提高模拟速度。
  • “使用刚性”(Using Rigidity)“变形阻力”(Deform Resistance)(而非高“弯曲阻力”(Bend Resistance)),可以提高 nCloth 的播放速度。

约束

  • 使用“点到曲面”(Point to Surface)约束,高“强度”(Strength)值使布料像绑定蒙皮一样活动。此外,对于用作碰撞的“点到曲面”(Point to Surface)约束,“切线强度”(Tangent Strength)值必须大于零。
  • “弹簧”(Spring)约束方法因为它移动距离更远,更难以拉伸。此外,随着距离的增加,其反冲力也会增加。
  • 可以将权重看作是约束链接的任一侧的相对量。
  • 通常,“切线强度”(Tangent Strength)“强度”(Strength)确定了约束的影响程度。约束上的“切线强度”(Tangent Strength)“强度”(Strength)过高可导致 nCloth 穿过曲面。
  • 为了将一个对象约束到另一个对象,使对象一起移动,可以使用“运动阻力”(Motion Drag),而不是“强度”(Strength)
  • “点到曲面”(Point to Surface)约束相比,“在曲面上滑动”(Slide on Surface)约束是以帧来更新的。
  • 可以在约束的阈值内使用“强度衰减”(Strength Dropoff)渐变来创建吸气效果。

解析锐边或尖角

  • 增加“自碰撞宽度比例”(Self Collide Width Scale)(nCloth 节点)以改善尖角。
  • 通过将点推出而不是推进,使用“交叉推力”(Crossover Push)来纠正锐边和交叉边。

缓存后完善擦除/重显 nCloth 动画

一旦场景缓存完成且模拟结果满意后,可以禁用 Nucleus 节点。禁用 Nucleus 节点后,不发生任何模拟,可以更快地擦除或重显缓存的动画。

若要禁用 Nucleus 节点,在“属性编辑器”(Attribute Editor)中禁用“启用”(Enable)属性。

nCloth 厚度和自碰撞

使用中等密度网格,可能会发现只有将“厚度”(Thickness)(nClothShape 节点)设定为高值才可以获得所需的自碰撞。但是,这通常会使 nCloth 对象看似臃肿,不相称。

若要解决此问题,可以使用“自碰撞宽度比例”(Self Collide Width Scale)(nClothShape 节点),这样可以缩放 nCloth 输入和输出网格的“厚度”(Thickness),而不会使 nCloth 对象看似臃肿。

具有集和“从属图表”(Dependency Graph)循环的约束

通常,在输出 nCloth 网格上使用顶点来创建约束。不建议使用集来创建约束。如果启用“使用集”(Use Sets)选项(位于“创建动态约束选项”(Create Dynamic Constraint Options)窗口中)创建动态约束,则必须在“输入网格”(input mesh)中创建集,因为它们会影响输出网格的行为。如果没有在输入网格创建集,可以创建“从属图表”(Dependency Graph)循环。

若要隐藏输出网格并编辑集,请选 nMesh > 显示 入 格(nMesh > Display Input Mesh)

若要编辑约束集,请使用nConstraint > 添加成员(nConstraint > Add Members)nConstraint > 移除成员(nConstraint > Remove Members)nConstraint > 替换成员(nConstraint > Replace Members)菜单项。

如果想要使用集“关系编辑器”(Relationship Editor),应确保仅添加相同类型的输入网格元素(所有顶点、面或边)。

具有集和约束成员资格的约束

如果启用“使用集”(Use Sets)选项(位于“创建动态约束选项”(Create Dynamic Constraint Options)窗口中)创建动态约束,可能会创建更多节点和连接。目前,在 nComponent 节点中没有限制编辑集来维护有效的成员资格,因此可以产生错误。

可以不使用集而使用 nConstraint > 添加成员(nConstraint > Add Members)nConstraint > 移除成员(nConstraint > Remove Members)nConstraint > 替换成员(nConstraint > Replace Members)菜单项来轻松地修改约束成员资格。

具有长链接的约束

具有长链接(因为对象相距甚远)的约束可能会导致弹出,因为目标曲面放大了约束曲面的小振动。

如果必须具有长约束链接,应降低“强度”(Strength)“切线强度”(Tangent Strength)(动力约束形状节点)设置。降低这些设置将会提供比较松松懈的约束链接,阻止弹出。