为当前 nCloth 对象的动力学特性(例如,“拉伸阻力”(Stretch Resistance)和“弯曲阻力”(Bend Resistance))指定每个模拟步骤的最大迭代次数。“最大迭代次数”(Max Iterations)钳制迭代次数来防止高级别特性值或大量子步锁定 nCloth。
迭代是由 Maya Nucleus 解算器对单个 nCloth 特性进行的单一计算。对于每步长的每个动力学特性值,存在许多迭代。每个动力学特性的迭代次数是由其当前值自动设定的。动力学特性值越大,生成的迭代次数就越多。
为当前 nCloth 对象指定每个模拟步骤的最大自碰撞迭代次数。迭代次数是在一个模拟步长内发生的计算次数。随着迭代次数增加,精确度会提高,但计算时间也会增加。默认情况下“最大自碰撞迭代次数”(Max Self Collide Iterations)为 4.0。
设定碰撞迭代次数是否为每个模拟步长中执行的最后一个计算。“刚性”(Rigidity)、“变形阻力”(Deform Resistance)和“输入吸引”(Input Attract)具有正值时,“碰撞上一阈值”(Collision Last Threshold)很有用,因为这样可确保在该步长结束时解析 nCloth 与 Nucleus 对象的碰撞,从而减少在后续帧中出现坏碰撞的机会。如果启用该选项,那么仅当 nCloth 对象已设定“刚性”(Rigidity)、“变形阻力”(Deform Resistance)或“输入吸引”(Input Attract)时,“碰撞上一阈值”(Collide Last Threshold)才适用。
默认情况下,“碰撞上一阈值”(Collide Last Threshold)为 0.2,该值适合大多数模拟。如果部分碰撞故障出现在模拟中,特别是当使用“输入吸引”(Input Attract)时,请使用较大的值,如 1.0。例如,在某些情况下,nCloth 顶点可能会穿过碰撞对象来跟随 nCloth 输入吸引对象。“碰撞上一阈值”(Collide Last Threshold)值为 1.0 或更大可能会解决该问题。将“刚性”(Rigidity)与快速移动的 nCloth 一起使用时,它也可能会解决类似的问题。
对于大多数模拟,小于 0.2 的“碰撞上一阈值”(Collide Last Threshold)值不是很有用。
向当前 nCloth 对象添加交叉链接。对于包含 3 个(三角形)以上顶点的面,这样会创建链接,从而使每个顶点连接到每个其他顶点。与对四边形进行三角化相比,使用交叉链接对四边形进行平衡会更好。
交叉链接会保持链接之间的角度,从而稳固化 nCloth 并防止诸如斜切等布料行为。不能向在制造 nCloth 之前已进行三角化的网格添加交叉链接,因为其附加边已为 nCloth 提供附加的稳定性。
指定是否以累积方式或与顺序无关的方式对当前 nCloth 对象的链接进行求值。
链接是以累积方式进行求值的,从 nCloth 上的第一个链接到最后一个链接。链接的顺序(从第一个到最后一个)是由 nCloth 的输入网格边的顺序确定的。“顺序”往往会比“平行”(Parallel)更快地对链接进行求值,且“顺序”需要较少的计算就能使 nCloth 无弹性或有刚性。
链接是以与顺序无关的方式进行求值的,从 nCloth 的受约束或碰撞的多个部分到 nCloth 的所有其他区域。对于该类型的求值,需要很大的拉伸阻力值,并且计算的速度可能会很慢。仅当偏移是场景中的问题时才使用“平行”。例如,如果 nCloth 衬衫的袖子与另一个 nCloth 对象发生碰撞,那么会首先对袖子中的链接进行求值,接下来是离袖子最近的链接,然后是衬衫的剩余链接,依此类推。
设定用于计算“弯曲阻力”(Bend Resistance)的解算器方法。
基于 nCloth 顶点的相对位置,解算每个步长的“弯曲阻力”(Bend Resistance)。没有任何顶点交叉或几何体翻转的历史用于解算“弯曲阻力”(Bend Resistance)。
在顶点可能会交叉或者几何体翻转的情形下,将“高质量”(High Quality)或“翻转跟踪”(Flip Tracking)用于 nCloth 模拟。否则,Maya 可能会在错误的方向上弯曲 nCloth 曲面,从而导致抖动运动和很差的自碰撞。
基于 nCloth 顶点的相对位置,解算每个步长的“弯曲阻力”(Bend Resistance)。解算“弯曲阻力”(Bend Resistance)时,如果顶点交叉且几何体已围绕其自身翻转,那么“高质量”(High Quality)会保留实例的历史。在某个模拟步长的持续时间内,会维护该历史。在每个模拟步长结束时,Maya 会假定解决了所有顶点交叉和几何体翻转问题,且清除了历史。在没有任何 nCloth 曲面的实例围绕曲面自身弯曲的情况下,即没有任何翻转,会正确解决碰撞问题。
“高质量”(High Quality)解决了由于顶点交叉和几何体翻转的实例而引起的碰撞较差的问题,而不会在输出网格中产生折点。默认情况下会将“弯曲解算器”(Bend Solver)设定为“高质量”(High Quality)。
基于 nCloth 顶点的相对位置,解算每个步长的“弯曲阻力”(Bend Resistance)。解算“弯曲阻力”(Bend Resistance)时,如果顶点交叉且几何体已围绕其自身翻转,那么“翻转跟踪”(Flip Tracking)会保留实例的正在运行的历史。在模拟的持续时间内,会维护该历史。使用“翻转跟踪”(Flip Tracking)可以解算 nCloth 曲面,这些曲面可能会像弹簧一样多次围绕自身弯曲,然后在模拟过程中松开。
请注意,如果曲面在模拟过程中多次缠绕,则可能会在结果曲面中出现折点,尤其是在缠绕已导致碰撞较差的区域中。如果 nCloth 在模拟过程中缠绕过度,或者折点出现在输出网格中,请使用“高质量”(High Quality)选项。“翻转跟踪”(Flip Tracking)是 Maya 先前版本中使用的默认“弯曲解算器”(Bend Solver)方法。
如果将“弯曲解算器”(Bend Solver)设定为“翻转跟踪”(Flip Tracking),且需要附加 nCache 或播放到 nCache 结尾,则在缓存模拟时,必须将“可缓存的属性”(Cacheable Attributes)设定为“动力学状态”(Dynamic State)。请参见 nCloth 缓存属性。
如果启用该选项,则会对当前 nCloth 对象的链接进行排序。使用“顺序求值顺序”(Sequential Evaluation Order),“对拉伸链接排序”(Sort Stretch Links)会以到 nCloth 上的碰撞和受约束点的距离作为链接顺序的基础。这可以帮助减少拉伸而不增加拉伸阻力值,尽管效果可能很微小。
如果启用该选项,那么“陷阱检查”(Trapped Check)会沿当前对象的曲面法线向外推,以解决碰撞对象之间的交叉问题,然后尝试将交叉的点往回推。会将向外推力施加在当前对象的曲面的外侧(正法线侧)。“陷阱检查”(Trapped Check)假定碰撞发生在对象的各自曲面的同一侧上(例如,外侧曲面到外侧曲面碰撞)。
如果启用该选项,请平移自碰撞交叉,然后尝试将交叉的点往回推。该设置假定对象的曲面在开始时处于良好的状态,并尝试保留该状态。
nCloth 是自碰撞并会导致穿透的情况下,“自身陷阱检查”(Self Trapped Check)很有用。代替将几何体粘滞在错误的一侧上,“自身陷阱检查”(Self Trapped Check)允许将布料推回到正确的一侧。
它是指将相交或穿透的对象向外推、直至达到当前 nCloth 对象曲面中最近点的力。如果值为 1,则将对象向外推一个步长。如果值较小,则会将其向外推更多步长,但结果会更平滑。正的“向外推”(Push Out)值可导致对象朝曲面法线的方向推动。负的“向外推”(Push Out)值可导致对象朝曲面法线的相反方向推动。
“向外推”(Push Out)依赖“向外推影响半径”(Push Out Radius)确定哪些对象和点受影响(超出“向外推影响半径”(Push Out Radius)的对象和点将会忽略)。
“向外推”(Push Out)对于在开始帧中碰撞的对象十分有用。此外,您还可以设置该属性的动画,以解决某些帧中的错误状态。
指定与“向外推”(Push Out)属性影响的当前 nCloth 对象曲面的最大距离。比“向外推影响半径”(Push Out Radius)所指定的距离远的对象不受影响。
“向外推影响半径”(Push Out Radius)确定 Maya 在距曲面多远处检查向外推。向外推始终应用到曲面厚度。“向外推影响半径”(Push Out Radius)不是一种曲面厚度类型。
指沿着与当前 nCloth 对象交叉的轮廓应用于对象的力。“交叉推力”(Crossover Push)仅对交叉的点起作用,因此若要使曲面达到良好状态,则可能需要执行多个步骤。使用“交叉推力”(Crossover Push)可以解决开始帧中的穿透,也可以校正锐化边。
沿当前 nCloth 对象与其自身交叉的轮廓应用力。“自“交叉推力”(Crossover Push)仅在交叉点处起作用,因此可能需要执行若干步骤才能使曲面到达理想状态。使用“自交叉推力”(Self Crossover Push)可解决开始帧处的穿透。
使用“自交叉推力”(Self Crossover Push)时,请禁用自碰撞,或启用“自身陷阱检查”(Self Trapped Check)。