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