该节点包含用于控制 nCloth 和 nParticle 对象上的动态约束的设置。这些设置包括约束方法、连接设置和强度设置。
有时可能会需要将衣物的各个部分约束到角色,以使衣物不会脱落。通过使用约束可以进行该操作。例如,可以使用约束来确保角色的裤子不掉落,或者保持裙子上的肩带附加到肩部上。
此外,还可以使用约束将衣物固定在一起或附加诸如钮扣或口袋等物品。
如果启用该选项,则会激活动态约束。默认情况下会打开“启用”(Enable)。
如有必要,可以使用该属性来激活和取消激活动态约束,而不必将受约束的布料捕捉回到开始位置(如果设置了受约束的布料的动画)。这意味着在重新激活约束后,会自动改良约束链接,并且在重新激活约束时,会自动将“静止长度”(Rest Length)调整为该距离。
确定用于该动态约束的链接类型。从下拉列表中选择下列选项之一:
链接将顶点锁定到一起,这样就无法拉伸它们。
压缩或拉伸之后释放时,链接恢复其原始状态(默认)。
拉伸后释放时,链接恢复其原始状态,而压缩后释放时,不会执行任何操作。
确定受约束对象如何彼此相关以及如何与动态约束相关。从下拉列表中选择下列选项之一:
使受约束对象的输入组件与动态约束节点位置相关。这意味着受约束对象会受到动态约束的变换和定位更改的影响(默认)。
使受约束对象彼此相关,并忽略动态约束的位置和变换。
确定组件节点(nClothShape 节点、nParticleShape 节点或 nRigidShape 节点)如何彼此相关。组件是该动态约束的成员,每个成员代表一个对象的一个元素子集(例如,一组三角形或点)。从下拉列表中选择下列选项之一:
使所有组件与属于该动态约束的第一个组件相关(默认)。
使所有组件与属于该动态约束的所有其他组件相关。
使一系列组件相关,其中每个组件与属于该动态约束的下一个组件相关。
如果启用该选项,则会在场景视图中显示动态约束链接。默认情况下会启用“显示连接”(Display Connections)。
确定生成该动态约束的链接时使用的逻辑。从下拉列表中选择下列选项之一:
基于在组件的节点上列出元素的顺序,在组件之间生成链接。
在开始帧处,在处于“最大距离”(Max Distance)值(在世界空间中)内的任何组件之间生成链接。这会导致多个组件彼此链接到一起。
在每个元素与最近的其他元素之间生成链接。这仅会产生一个从一个元素到另一个元素的链接。
指定将“连接方法”(Connection Method)设定为“在最大距离内”(Within Max Distance)时,在链接的元素之间允许的最大距离。默认值为 0.1。
指定何时为该动态约束对连接方法进行求值。从下拉列表中选择下列选项之一:
在模拟开始处对连接方法进行求值(默认)。
在模拟的每个帧处对连接方法求值。
如果启用该选项,则允许 Maya Nucleus 对象和组件之间的链接。如果禁用该选项,则仅允许组件之间的链接。默认情况下会禁用该属性。
基于“最大距离”(Max Distance)值,为该动态约束指定链接的集中度。仅当将“连接方法”(Connection Method)设定为“在最大距离内”(Within Max Distance)时,该属性才可用。
值为 1 时将保持链接,而值为 0 时将导致无任何链接。在 0 到 1 之间的值确定链接断开的概率。可以使用“连接密度范围”(Connection Density Range)设置来调整该属性。
这些设置会影响“连接密度”(Connection Density)属性,且仅当将“连接方法”(Connection Method)设定为“在最大距离内”(Within Max Distance)时,这些设置才可用。
通过设定值,或通过使用图表,使用“连接密度范围”(Connection Density Range)设置可调整“连接密度”(Connection Density)属性。
使用图表可直观地调整连接密度。图表的右侧代表长度等于“最大距离”(Max Distance)值的链接。图表的左侧代表没有长度的链接(值为 0)。
图表的 X 轴上的活动值。
在图表中移动位置标记时,会自动调整该值以相对应。
渐变图表的 Y 轴上的活动值。
在图表中移动位置标记时,会自动调整该值以相对应。
控制在图表中计算值的方式。从下拉列表中选择下列选项之一:
不存在插值;每个值都是图表上的一个不同的步长。
这些值在空间中进行线性插值。
这些值是沿钟形曲线进行插值的,使图表上的每个值控制围绕该图表的区域,然后快速过渡到下一个值。
与“平滑”(Smooth)类似,但是“样条线”(Spline)将相邻的索引考虑进去以获得更平滑的效果。
确定该动态约束的总体强度。典型值在 0 到 200 之间。默认值为 20。
确定在局部切线方向上运动的阻力。有效值为从 0 到无穷大。默认值为 10。
确定断开该动态约束的阻力有多大。该值是相对于总体场景或对象比例。
“粘合强度”(Glue Strength)为 1 表示该约束不会断开。“粘合强度”(Glue Strength)为 0 表示该约束会立即断开,就好像根本不存在约束一样。默认值为 1。
因为链接是在开始帧处形成的,所以断开链接之后,链接不会改良,除非将“粘合强度”(Glue Strength)属性设置回 1。
为总体场景比例确定“粘合强度”(Glue Strength)属性的敏感度。“粘合强度”(Glue Strength)使用链接之间的分隔的世界空间距离来确定发生断开的点。该属性会缩放所需的分隔距离。默认值为 1。
如果启用该选项,则会确定边到边约束是否可以弯曲。默认情况下会禁用“弯曲”(Bend)。仅边到边约束支持“弯曲”(Bend)。如果为其他组件类型约束启用了“弯曲”(Bend),则可能会增加模拟时间。
确定弯曲边约束的阻力有多大。默认值为 20。
确定边到边约束停止弯曲的角度(以度为单位)。默认值为 360。
指定在受约束的点之间的吸引力或排斥力。默认值为 0,表示不应用任何力。
对于组件之间的约束,根据“衰减距离”(Dropoff Distance)值,力会随着距离而减小。对于变换约束,会在点与变换约束的中心之间应用力。
可以将该属性应用到特定的 nCloth 组件,而不只是应用到对象,这与标准 Maya 场不同。
指定如何为该动态约束确定静止长度。从下拉列表中选择下列选项之一:
将约束距离设定为开始帧处的距离。如果将“静止长度比例”(Rest Length Scale)的值设定为 1,那么最初约束没有任何张力。
将约束距离设定为始终是“静止长度”(Rest Length)属性所指定的值。
在世界空间中为该动态约束中的链接指定静止长度。仅当将“静止长度方法”(Rest Length Method)设定为“恒定”(Constant)时,该属性才可用。
确定如何基于在开始帧处确定的长度动态缩放静止长度。默认值为 1。
指定应用到每个受约束对象的力的量,该力将受约束对象吸引到另一个对象的运动。“运动阻力”(Motion Drag)值为 1 表示会锁定所有受约束对象并一起移动它们。“运动阻力”(Motion Drag)值为 0 表示所有受约束的对象不会一起移动。默认值为 0。
这是强度衰减渐变映射到的世界空间距离。
使用“强度衰减”(Strength Dropoff)设置可以基于“衰减距离”(Dropoff Distance)控制链接的强度。图表的右侧代表链接的最大距离。图表的左侧代表没有长度的链接(值为 0)。
可以使用图表直观地调整“强度衰减”(Strength Dropoff)。
图表的 X 轴上的活动值。
在图表中移动位置标记时,会自动调整该值以相对应。
图表的 Y 轴上的活动值。
在图表中移动位置标记时,会自动调整该值以相对应。
控制在图表中计算值的方式。从下拉列表中选择下列选项之一:
不存在插值;每个值都是图表上的一个不同的步长。
这些值在空间中进行线性插值。
这些值是沿钟形曲线进行插值的,使图表上的每个值控制围绕该图表的区域,然后快速过渡到下一个值。
与“平滑”(Smooth)类似,但是“样条线”(Spline)将相邻的索引考虑进去以获得更平滑的效果。
如果启用该选项,则仅为属于当前约束的成员的面、边或顶点计算 nCloth 约束冲突。
确定约束中有多少能量会受到抑制,以减少受约束元素的移动。默认值为 0。
如果启用该选项,则允许曲面约束在约束点处与局部曲面碰撞。与标准曲面碰撞相比,该碰撞通常计算得更快。默认情况下会为“点到曲面”(Point to Surface)约束和“在曲面上滑动”(Slide on Surface)约束启用“局部碰撞”(Local Collide)。
如果启用“局部碰撞”(Local Collide),则 dynamicConstraintShape 节点会处理受约束点之间的碰撞。这样可以增加或替换对象之间的法线碰撞。“碰撞宽度比例”(Collide Width Scale)为受约束对象的总碰撞厚度指定缩放值。默认情况下会将“碰撞宽度比例”(Collide Width Scale)设定为 1,表示用于这些碰撞的碰撞宽度基于碰撞对象的“厚度”(Thickness) (nCloth) 和“半径”(Radius) (nParticle) 属性值。
确定滑动曲面约束可以自由移动的程度。将“摩擦力”(Friction)设定为 1 时,会锁定曲面约束,且无法移动它们。将“摩擦力”(Friction)设定为 0 时,曲面约束可以自由滑动,不受任何限制。默认值为 0。
如果启用该选项,则会将曲面约束(可以移动)限制为始终处于受约束曲面的一侧上。约束处于哪一侧是在开始帧处确定的,然后会在整个模拟中一直保持。这样可防止在受约束曲面移动时,约束在相反方向上翻转和推动。
例如,可以将 nCloth 约束到某个开放的圆柱体,并使用“单面”(Single Sided)属性以防止布料滑动到圆柱体中,然后使用该属性将布料保持在圆柱体外部上。
为该动态约束指定每模拟步长的最大迭代次数。迭代次数是在一个步长内发生的计算次数。随着迭代次数增加,精确度会提高,但计算时间也会增加。默认值为 500。
指定用于对动态约束求值的最小解算器迭代次数。迭代次数是在一个模拟步长内发生的计算次数。如果当前动态约束的“强度”(Strength)较低,“最小迭代次数”(Min Iterations)会提高动态约束效果的集成的质量。“最小迭代次数”(Min Iterations)也会影响其他 Nucleus 对象属性(如“拉伸阻力”(Stretch Resistance)对 nCloth 对象的影响)。