翻译Houdini官方文档:Vellum Constraints 节点
前言Vellum Constraints 有 SOP 和 DOP 两个版本。不过参数内容上几乎一样,只有少许差异。因此我将参数部分相同的部分放在前面,差异部分放在后面。介绍SOP :Vellum Constraints SOP 节点为Vellum解算器从合适的输入几何体创建约束。所有的vellum材质类型,例如布料、头发、软体,都被描述为顶点之间一组显式的约束。用于显示与碰撞的几何体是第一个输入与
前言
Vellum Constraints 有 SOP 和 DOP 两个版本。不过参数内容上几乎一样,只有少许差异。因此我将参数部分相同的部分放在前面,差异部分放在后面。
介绍
SOP :
Vellum Constraints SOP 节点为Vellum解算器从合适的输入几何体创建约束。
所有的vellum材质类型,例如布料、头发、软体,都被描述为顶点之间一组显式的约束。用于显示与碰撞的几何体是第一个输入与输出,约束几何体是第二个输入与输出。这两个几何体应该有一一对应的顶点关系,因此大多数Vellum节点通常将其成对进行处理。
Vellum Constraints 节点可以生成几乎所有的约束类型,因为大多数约束是由一组通用参数定义的。但是为了更容易设置,tab菜单中提供了许多常见的约束类型配置。
DOP :
Vellum Constraints DOP 允许在模拟过程中动态创建新的 Vellum约束。它是一个 microsolver,因此应该连接到 Vellum Solver DOP 的解算器输入。它也可以连接到 Vellum Solver SOP 内部。
如果要更改现有的约束,应该使用 Vellum Constraint Update DOP。
所有参数
- 参数(SOP与DOP共同的)
- -----Constraints(约束)-----
- -----Geometry(几何体)-----
- -----Target Geometry(目标几何体)-----
- -----Drag(拖拽)-----
- -----Pin to Animation(动画钉点)-----
- -----Closest Point(最近点)-----
- -----Glue Search (粘合点搜索)-----
- -----Strut Search (支柱点搜索)-----
- -----Stretch(拉伸)-----
- Stiffness(刚度)
- Stiffness Attribute(刚度属性)
- Scale(缩放)
- Damping Ratio(阻尼比)
- Damping Attribute(阻尼属性)
- Scale(缩放)
- Rest Length Scale(静止时长度缩放)
- Compression Stiffness(压缩刚度)
- Tangent Stiffness(切线刚度)
- Stiffness Dropoff(刚度衰减)
- Min Stiffness(最小刚度)
- Velocity Blend(速度混合)
- Output Group(输出组)
- Keep Unique within Output Group(在输出组中保持唯一)
- Enable Warp/Weft(启用各向异性)
- Enable Plasticity(启用可塑性)
- -----Stretch.Anisotropy(各向异性)-----
- -----Stretch.Plasticity(可塑性)-----
- -----Bend(弯曲)-----
- Add Bend across Welds(在焊接处生成弯曲约束)
- Copy Neighboring Stiffness(复制邻居的刚度)
- Stiffness(刚度)
- Stiffness Attribute(刚度属性)
- Scale(缩放)
- Damping Ratio(阻尼比)
- Damping Attribute(阻尼属性)
- Scale(缩放)
- Rest Angle Scale(静止时角度缩放)
- Stiffness Dropoff(刚度衰减)
- Min Stiffness(最小刚度)
- Max Branch Angle(最大分支角度)
- Output Group(输出组)
- Keep Unique within Output Group(在输出组中保持唯一)
- Enable Plasticity(启用可塑性)
- -----Bend.Plasticity(可塑性)-----
- -----Breaking(断裂)-----
- -----Attributes(属性)-----
- 参数(SOP与DOP有区别的)
参数(SOP与DOP共同的)
-----Constraints(约束)-----
Constraint Type(约束类型)
生成约束的类型。这个参数将会影响其他参数的可见性。通常,它由tab菜单的宏所设置。
-
None(无)
不生成任何约束。 -
Distance Along Edge(保持边的距离)
将显示几何体中的每条边转换为保持该边长度的距离约束。 -
Bend Across Triangles(保持二面角的度数)
为每对三角形(或者说隐式的三角形,因为输入可能是四边形或更多的边)创建一个约束,用于保持该二面角的度数。 -
Cloth(布料)
创建的约束既包括边的距离,也包括二面角的弯曲。 -
Hair(头发)
创建由边的距离和边之间的弯曲组成的约束。 该弯曲还包括边的转动,从而产生扭转效果。 -
String(线)
创建更轻量级的头发约束,包括边的距离和边之间的角度。 不过,它们没有任何转动的约束,因此边可以自由旋转。 -
Pin to Target(固定到目标上)
将指定顶点固定到目标几何体中的对应顶点。对于Vellum解算器来说,“目标几何体”通常是第一个输入,因此它与动画匹配,但可以被覆盖。 -
Attach to Geometry(附着在几何体上)
将指定点附着到第三个输入中的几何体上。它们将会在附着的那一帧中存储离他们最近的点,然后创建一个距离约束绑在上面。 -
Stitch Points(缝合点)
使用距离约束将同一几何体中的点缝合在一起。 这些点实际是不需要几何上连接的。 这对于保持夹克闭合或防止口袋飘动很有用。 -
Pressure(压力)
存储一个原始体积并构建一个多点约束来维持它,每一片都由Define Pieces参数来定义。这个计算的执行是全局的,因此挤压一个地方会扩张另一个地方,就像气球一样。pressurescale
点属性可以基于顶点指定压力约束的效果缩放。此属性可用于有趣的膨胀效果,但应谨慎使用因为它会导致不平衡的力,比如对于一个未固定的气球,如果pressurescale
仅在一侧接近零。 -
Tetrahedral Volume(四面体体积)
将每个四面体变成约束以保持四面体的体积。注意:
这不包括任何剪切或拉伸约束。额外的距离约束需要添加来制作合适的软体。 -
Weld Points(焊缝点)
虽然本身不是约束,但是它会编辑weld
属性,使多个点在解算时逻辑上融合为单个的点,然而它们还是会保留独立性。此外,这可以在边缘逻辑融合的地方建立弯曲约束,确保结果就像是单个完整的平面。Vellum Post Process SOP 可以在模拟后重新连接焊接的顶点,以便让几何体保持连接性方便渲染。 -
Glue(粘合)
每个点都会搜索一个附近的点,且该点不属于它自己那一碎片,随后它将与该点构造一个距离约束。这对于构建根据临近度自动粘合在一起的系统非常有用,尤其是与破坏相结合。 -
Struts(支柱)
每个点都会搜索一个最远的点,且该点属于它自己那一碎片,但到该点有一条直线,随后它将与该点构造一个距离约束。这构建了大量的牙签状的内部支柱,可以在不花费完全的 FEM 解算的情况下为对象提供刚度和体积。 -
Tetrahedral Fiber(四面体纤维质)
将每个四面体变成一个约束,尝试沿着点属性materialW
指定的方向上展平,如果属性不存在则方向就是{0, 0, 1}
。这些约束可以以低刚度创建,然后在模拟过程中使用 Vellum Constraint Property 对刚度动画升高,以模拟体积收缩效果。 -
Triangle Stretch(三角形绷紧)
根据指定的刚度,通过移除任何拉伸或倾斜,将每个三角形变成一个约束,以保持三角形ARAP(As-Rigid-As-Possible,尽可能刚性)。 -
Tetrahedral Stretch(四面体绷紧)
根据指定的刚度,通过移除任何拉伸或倾斜,将每个四面体变成一个约束,以保持四面体ARAP。 如果启用Preserve Volume
(保持体积),约束会额外尝试保留具有非常高内部刚度的体积但具有指定的Damping Ratio
(阻尼比),类似于Tetrahedral Volume约束的功能。 -
Shape Match(匹配形状)
对于每一个由Define Pieces定义的碎片,创建一个约束,将其点拉回原始的(静止的)形状。此约束可用于在现有约束(如布料)之上添加刚性,或创建大部分刚体对象可与之交互的其他Vellum几何体。Tip
Shape Match 约束通常在Mass
设置为Calculate Uniform
且几何体尺寸一致时效果最好。要生成这种类型的几何体,你可以使用 Remesh SOP。Tip
这种约束一种有用的场合是:你在模拟的输出上使用 Extract Transform SOP 来为每一个碎片生成一个带有方向的点,然后再使用 Transform Pieces SOP 将原始用于渲染的几何体变换到这些点上。这个流程可以在约束无法在碰撞点保持刚性时,避免小的变形。
Stretch Type(拉伸类型)
当约束类型设置为布料时,此参数选择使用哪种类型的拉伸约束。在更高的布料分辨率下,线性的Triangle Stretch(三角形绷紧)比Distance Along Edges(保持边的距离)更快地收敛到其适当的刚度,但不能通过启用Enable Warp/Weft
参数来支持各向异性。
Preserve Volume(保持体积)
当约束类型设置为四面体绷紧时,再应用一个约束来保留具有非常高内部刚度和指定Damping Ratio
的体积,类似于四面体体积约束的作用方式。 请注意,为了更好的控制,或者如果由于非常高的刚度而不稳定,你可以关闭此选项并在后续添加 Vellum Constraint SOP 并设置为四面体体积,这样可以获得类似的体积保留效果,但更具有可控性,只是会稍微损失些解算的性能。
Use Linear Model(使用线性的模型)
三角形绷紧和四面体绷紧约束使用非线性的拉伸模型,该模型为低刚度、高拉伸配置提供了良好的行为,适用于肌肉和皮肤等有机材料。而启用此选项会切换到线性的模型,这通常对于高刚度、低拉伸的配置(如硬实体或布料)表现得更好。 它还为使用由拉伸压力引起的焊缝断裂效果提供更可预测的压力值。
-----Geometry(几何体)-----
Group Type(组类型)
源上使用约束的点的组的类型。
Group(组)
源上使用约束的点的组。这些是作为约束或作为约束的起始部分的point或primitive。
Triangulation(三角化)
距离约束和弯曲约束通常建立在三角形mesh上。不过,输入的mesh会进行隐式的三角化,而不是强制要求输入的必须是三角化的mesh。
- None(不)
不对输入进行隐式的三角化 - Regular(常规)
始终三角化 - Alternating(交替)
尝试反转一些三角形的分割,以减少一些四边形结构的规则性。
Mass(质量)
点属性mass
——质量,会影响它们如何与POP力以及其他Vellum几何体碎片进行交互,以及约束的强度。
- UnChanged(不变)
不要修改mass
属性 - Set Uniform(设置统一值)
将mass
统一设定为指定的值 - Calculate Uniform(计算一个统一值)
对于每一个由Define Pieces定义的碎片,为碎片上的点计算一个统一的mass
值。对于四面体,计算每个碎片的总体积,然后乘以Density(密度)参数以得到每块的质量。然后,该质量均匀地分布在该碎片的每个点上。对于多边形,每个碎片的总面积被用来计算,而对于线段,线的长度被用来计算。 - Calculate Varying(计算变量)
为点计算mass
变量。对于四面体,每个点累加其所有入射四面体的体积的 1/4 以找到其总体积,然后乘以密度参数以得到质量。对于多边形,每个点累加其所有入射多边形的面积中自己的份额,对于线段则是累加其所有入射边的长度中自己的份额。这种方法通常会给出最准确的物理结果,尤其是在几何体的分辨率发生变化时。
Density(密度)
当质量设置为计算一个统一值或计算变量时,用于计算质量的体积按此值缩放。该值可以进一步设置为Scale By Attribute(按属性缩放),以在不同情况下根据指定的点属性进行缩放。
Density Attribute(密度属性)
Density会根据此属性进行缩放。
Thickness(厚度)
点的厚度,存储在pscale
中。也用于三角形厚度和曲线厚度。
- UnChanged(不变)
不要修改pscale
属性 - Set Uniform(设置统一值)
将pscale
统一设定为指定的值 - Calculate Uniform(计算一个统一值)
对于每一个由Define Pieces定义的碎片,为碎片上的点计算一个统一的pscale
值。厚度值基于每个碎片的边的平均长度,由Edge Length Scale缩放。 此设置通常可避免过度的自碰撞,同时保持均匀的厚度。 - Calculate Varying(计算变量)
为点计算pscale
变量。厚度值基于连接到每个点的边的平均长度,由Edge Length Scale缩放。 此设置更适用于不同分辨率的几何体,但通常会给出不均匀的厚度值。
Edge Length Scale(边长缩放)
在用于厚度计算之前,每个边的长度将按此值缩放。
Define Pieces(碎片定义)
压力约束将对象分成不相交的部分以对体积进行计算和执行。质量和厚度的计算以及 Glue 和 Strut 约束也需要一种方法来定义单独的部分。
- From Attribute(根据属性)
属性的不同取值将用来定义碎片。 - From Connectivity(连接性)
输入几何体的连接性将被用来定义碎片。
Piece Attrib(表示碎片的属性)
用来定义碎片的属性。可以是Point属性也可以是Primitive属性。
Layer(层)
点将给出layer
属性作为层,在布料模拟中用于定义 Layer Shock (?) 的堆叠顺序。
-----Target Geometry(目标几何体)-----
出现在 Attach to Geometry、Stitch Points、Weld Points、Glue、Struts
Target Group Type(目标组类型)
约束目标的组的类型
Target Group(目标组)
目标的组。该组指定了Attach to Geometry和Stitch Points约束的后半部分。
Target Path(目标路径)
Attach to Geometry 约束会在解算时读取连接到第三个输入的SOP用来得到当前的动画数据。指定这里的参数将会覆盖掉第三个输入的SOP。This is useful if a different animation is desired at solve time than capture time.
注意
This is the path to override the animation with, and does not affect the actual capturing. Capturing is always done with the third input.
-----Drag(拖拽)-----
出现在 Cloth、Hair、String
Normal Drag(法向拖拽)
创建dragnormal
属性并将值设为此参数的值。当风向是表面的法线方向,或是曲线的垂直方向时,该属性将缩放该点的拖拽力。
不同的法向和切向阻力对于挥舞旗帜至关重要。
Tangent Drag(切向拖拽)
创建dragtangent
属性并将值设为此参数的值。当风向是表面的切线方向,或是曲线的切线方向时,该属性将缩放该点的拖拽力。
-----Pin to Animation(动画钉点)-----
出现在 Cloth、Hair、String、Pin to Target
Pin Points(钉点)
目标动画中的固定点。通常,“目标动画” 是Vellum解算器的第一个输入,但是可以在 Vellum Solver SOP 或 Vellum Source DOP 中覆写。
Pin Type(钉点类型)
如何指定目标动画的钉点位置。
- Permanent(永远)
将mass
属性设置为0,使得点成为一个硬约束。然而,由于mass
的原始值没有存,所以之后没办法释放这个约束。 - Stopped(停止)
将stopped
属性设置为1,使得点成为一个硬约束。mass
并不受影响,因此可以稍后通过将stopped
重置为 0 来恢复点的动态。 - Soft(柔软)
在点与其目标位置之间构建一个零长度距离的约束。拉伸的刚度和阻尼比用于此约束。
Orientation Pin Type(钉点方向类型)
除了保持点的“位置”之外,对于头发,“方向”通常也可能受到限制。
注意
这个约束限制了头发的传出线段的方向。因此,头发尖端的定向钉点不会影响传入头发的角度。
- None(无)
不要约束方向。 - Same as Position(和位置一样)
使用和位置一样的约束规则。比如说对于Stopped,stopped
属性设置为 3 以表示两种类型的更新都被抑制。 - Soft(柔软)
添加弯曲/扭曲约束以固定目标动画中钉点的方向。 弯曲的刚度和阻尼比将被用于此约束。
Match Animation(匹配动画)
控制目标钉点是 “在求解器期间从动画更新” 还是 “仅使用初始值”。
-----Closest Point(最近点)-----
出现在 Attach to Geometry、Stitch Points、Weld Points
Constrain to Closest Point(约束到最近点)
在寻找与源点匹配的点时,不要按顺序遍历目标点,而是先选择最近的点。
Use Closest Location on Primitive(使用图元的最近位置)
对于Attach to Geometry 和 Stitch Points 约束,不是选择最近的顶点,而是选择图元上最近的位置。然后存储图元序号和重心坐标。对于Stitch Points约束,启用此选项时,仅支持线段、三角形和四边形作为约束生成的目标几何体。
Max Distance(最大距离)
对于缝合点来说,被认为是合适的最大距离。
Sliding Rate(滑动率)
对于Attach to Geometry 和 Stitch Points 约束,约束的附加点将以此速率滑过目标的曲面,其中 1 与约束点的速度相匹配。 此选项仅适用于跨越图元的滑动,因此必须启用Use Closest Location on Primitive,并且必须将Target Group Type设置为Primitive。 对于寻找下一个最近滑动目标的方式,可以使用 Vellum Solver 的Sliding Method参数来设置。
Sliding Attribute(滑动属性)
当Sliding Rate设置为Scale by Attribute时,一个点属性将被用于缩放Sliding Rate的值。这个点属性将根据Promotion Method来应用,并将存储到模拟期间要应用的约束上。通过这种方式,附着点可以在绘制的表面上滑动,其中绘制的属性值控制Sliding Rate。
-----Glue Search (粘合点搜索)-----
出现在 Glue
Cluster Attrib(簇属性)
虽然Glue约束是在不同碎片之间的点上创建的,但它们只会在同一簇的点之间创建。 如果 cluster 值为 -1,则不会有任何 Glue 被创建。
Min Search Dist(最小搜索距离)
寻找合格的粘合点的最小距离。
Max Search Dist(最大搜索距离)
寻找合格的粘合点的最大距离。
Max Search Points(最大搜索点数)
合格的粘合点的最大数目
Search Preference(搜索偏好)
考虑是否是合适粘合点的顺序。
- Nearest
- Farthest
注意
将此参数设置为Farthest时,你可能需要增加最大搜索点数参数,因为内部搜索函数总是首先返回最近的点。搜索查询中必须有足够的点才能到达最大搜索距离参数指定的最远点。
Constraints Per Point(每个点的约束)
为每个点创建的粘合约束的数目。
Detach Object Chance(物体分离几率)
每个碎片都有一个几率被标记为“不符合”并且不产生粘合约束,这可以允许产生杂散的头发。
Detach Point Chance(点分离几率)
每对点都有一个几率被标记为“不符合”。
Seed(随机种子)
生成分离几率的随机数种子。
-----Strut Search (支柱点搜索)-----
出现在 Struts
Max Strut Length(最大支柱长度)
创建支柱的最大距离。必须足够大以覆盖物体的直径,但避免极长的支柱有助于避免瑕疵。
Direction Attribute(方向属性)
支柱的创建方式是沿着碎片中的方向属性投射一条射线来搜索的。默认的方向是表面的法线。
Invert Normals(反转法线)
反转对象的法线来发送射线,对于已经反转过法线的传入几何体很有用。
Test Normals(测试法线)
验证支柱的目标是否有法线,表明它是从内部正确击中的。
Direction Jitter(方向浮动)
让支柱的方向有浮动,借此破坏其对称性。
Constraints Per Point(每个点的约束)
为每个点添加的最大支柱数。
Detach Point Chance(点分离几率)
点被标记为“不符合”的几率。
Seed(随机数种子)
用来控制浮动和分离几率的随机数种子。
Ray Offset(射线偏移)
创建支柱的初始射线需要一个偏移,用来避免撞击发出它的表面。
-----Stretch(拉伸)-----
除了 Bend Across Triangles 和 Weld Points 之外都有
Stiffness(刚度)
约束的刚度,它控制约束将粒子拉回其初始静止状态的强度。To dial in initial values, change by factors of 10。
Stiffness Attribute(刚度属性)
用于缩放刚度的点属性。
由于刚度的有效变化需要在数量级上有变化,因此它有对数效应。
Scale(缩放)
一个滑条用于控制刚度缩放。
由于刚度的有效变化需要在数量级上有变化,因此它有对数效应。
Damping Ratio(阻尼比)
刚性约束往往会产生令人无法接受的震动或抖动,在计算约束时,阻尼可以通过流失能量来减少这种情况。然而,过多的阻尼也会让约束效果达不到预期。阻尼比必须要小于 1。
Damping Attribute(阻尼属性)
用来调整阻尼的属性,会乘算到阻尼比上。
Scale(缩放)
一个滑条用于控制阻尼比缩放。
Rest Length Scale(静止时长度缩放)
距离约束在静止时的长度会是点之间原始的距离。而这个参数可以添加一个缩放用来增加或减少这个长度。将此值设为 0 将会让点重叠在一起。
Compression Stiffness(压缩刚度)
当约束压缩到其初始距离以下时的刚度。 非常僵硬的低分辨率布料可能由于其拓扑结构的原因而不是弯曲约束的原因变得不可弯曲。如果三角形网格完全僵硬,则它几乎没有弯曲的方式。通过设置较低的压缩刚度,布料可以塌陷并恢复流动的效果。通常这必须用更高分辨率的布来提升。
Tangent Stiffness(切线刚度)
对于Attach to Geometry型约束,与目标曲面相切的方向上的约束的刚度。例如,切线刚度有助于支撑连接到身体腰部的裤子或腰带。
注意
将此参数设置为一个非0值会创建从 Vellum 点到与目标表面上最近点相交的线的附加的约束。此约束使用与主要拉伸约束相同的断裂、塑性和缩放设置。
Stiffness Dropoff(刚度衰减)
此参数指定,相对于初始距离,在到达什么距离时刚度减少为 0,或是从 0 增加到完整的刚度——这取决于你所选的衰减的方向。递减方向意味着刚度从完全的值开始,到相对静止长度 Dropoff 距离时下降到0,而递增方向意味着刚度从0开始,到相对静止长度 Dropoff 距离时增加到完整的刚度。如果启用了Min Stiffness则它的值将作为刚度的最小值而非0。
递减方向的衰减对于创建在拉伸时失去刚度的粘合约束很有用,它可以在指定的距离处减少到零。在破碎类型中选择拉伸距离并将阙值设置为和刚度衰减一样,就可以让约束在刚度变为0时也消失。
Min Stiffness(最小刚度)
如果选中此复选框,则该值将是计算刚度衰减时使用的最小刚度。
Velocity Blend(速度混合)
对于 Attach to Geometry 和 Pin to Target 约束可以选择混合目标的速度。这要求目标具有点属性v
以提供局部速度。混合是每秒 24 次,因此 0.5 的混合因子将在标准帧中混合 50% 的目标速度。
速度混合会极大地抑制模拟,但有助于布料运动的可预测性,避免突然运动造成的突变。零刚度的Attach to Geometry约束可用于仅应用速度混合而无需任何额外的力。
Output Group(输出组)
生成的拉伸约束都添加到这个组中。这对于稍后使用Vellum Constraint Property DOP编辑它们很有用。
Keep Unique within Output Group(在输出组中保持唯一)
确保特定点只能被输出组中的约束约束一次。动态创建约束时,每帧在相同点之间重新创建约束是很常见的。保持输出组内的点唯一可防止约束的不断积累。
Enable Warp/Weft(启用各向异性)
启用基于方向的刚度调整,允许布料网络在一个轴上比另一个轴拉伸得更多。
Enable Plasticity(启用可塑性)
可塑性允许物体流动到一个新的静止位置。在足够的压力下,静止坐标将与当前动态坐标混合,因此对象将保持其新形状。
-----Stretch.Anisotropy(各向异性)-----
Warp Scale(经向缩放)
与材质 u 轴对齐的布料的缩放系数。这是一个对数乘算。
Weft Scale(纬向缩放)
与材质 v 轴对齐的布料的缩放系数。这是一个对数乘算。
Shear Scale(对角向缩放)
与材质 u 轴 和 v 轴对角方向对齐的布料的缩放系数。这是一个对数乘算。
Material UV(材质UV属性)
用于指定uv的点属性
-----Stretch.Plasticity(可塑性)-----
Threshold(阙值)
低于此阈值,材料将恢复其原始形状。当变形超过阈值时,它将开始进入新的配置。
Threshold Attribute(阙值属性)
用于缩放阙值的属性
Scale(缩放)
阙值的缩放。
Ratio of Current Rest Length(静止长度的比率)
阈值可以是绝对距离,也可以是百分比距离。比率值为 0.1 意味着拉伸 110% 压缩 90% 将触发塑性流动。
Rate(速率)
材料开始流动时采用新静止长度的速度。
Rate Attribute(速率属性)
缩放 Rate 的属性。
Scale(速率缩放)
Rate 的缩放值。
Hardening(硬化)
一些塑性材质在变形后会变得更硬,他们的硬化大于1。有些变得更软,硬化小于 1。这是刚度的对数乘数。
Hardening Attribute(硬化属性)
缩放 Hardening的属性。
Scale(缩放)
Hardening 的缩放值。
-----Bend(弯曲)-----
出现在 Bend Across Triangles、Cloth、Hair、String、Pin to Target、Weld Points
Add Bend across Welds(在焊接处生成弯曲约束)
当焊接点在一起时,两个外边缘可能会变成一个内边缘。如果它们没有获得任何弯曲约束,接缝将很弱并且会有明显地折叠或扭结。此选项会在检测到的地方生成弯曲约束。
Copy Neighboring Stiffness(复制邻居的刚度)
生成的弯曲约束的值可以从周围三角形的弯曲中复制,确保构建一致的布料,而无需通道链接参数。
Stiffness(刚度)
弯曲约束的刚度。To dial in initial values, change by factors of 10。
注意
弯曲约束基于角度差异,因此分辨率更高的布料将需要更高的刚度才能表现出相似的曲度。
注意
高分辨率模型上非常高的弯曲刚度将需要大量迭代才能收敛。
Stiffness Attribute(刚度属性)
用于缩放刚度的点属性。
由于刚度的有效变化需要在数量级上有变化,因此它有对数效应。
Scale(缩放)
一个滑条用于控制刚度缩放。
由于刚度的有效变化需要在数量级上有变化,因此它有对数效应。
Damping Ratio(阻尼比)
刚性约束往往会产生令人无法接受的震动或抖动,在计算约束时,阻尼可以通过流失能量来减少这种情况。然而,过多的阻尼也会让约束效果达不到预期。阻尼比必须要小于 1。
Damping Attribute(阻尼属性)
用来调整阻尼的属性,会乘算到阻尼比上。
Scale(缩放)
一个滑条用于控制阻尼比缩放。
Rest Angle Scale(静止时角度缩放)
弯曲约束在静止时的角度将是三角形之间原始的二面角。 这个比例可以用来增加或减少这个。 设置为 0 会将原始配置视为平板。
Stiffness Dropoff(刚度衰减)
此参数指定,相对于初始角度,在到达什么角度时刚度减少为 0,或是从 0 增加到完整的刚度——这取决于你所选的衰减的方向。递减方向意味着刚度从完全的值开始,到相对静止角度 Dropoff 角度时下降到0,而递增方向意味着刚度从0开始,到相对静止角度 Dropoff 角度时增加到完整的刚度。如果启用了Min Stiffness则它的值将作为刚度的最小值而非0。
少量的递增型衰减对于布料非常有用,可以使其从平坦状态更轻松地弯曲,增加额外的皱纹,而不会明显改变布料的整体弯曲刚度和外观。递减型衰减对于制作弹性胶水约束非常有用,这些约束在断裂前会减弱而不会回弹。
Min Stiffness(最小刚度)
如果选中此复选框,则该值将是计算刚度衰减时使用的最小刚度。
Max Branch Angle(最大分支角度)
当添加无挠地弯曲约束时,它们在静止角度接近直线时效果最佳。设置最大分支角度允许诸如绳网之类的东西仅具有沿直线绳索的弯曲约束,而不会在在垂直部分上。
Output Group(输出组)
生成的拉伸约束都添加到这个组中。这对于稍后使用Vellum Constraint Property DOP编辑它们很有用。
Keep Unique within Output Group(在输出组中保持唯一)
确保特定点只能被输出组中的约束约束一次。动态创建约束时,每帧在相同点之间重新创建约束是很常见的。保持输出组内的点唯一可防止约束的不断积累。
Enable Plasticity(启用可塑性)
可塑性允许物体流动到一个新的静止位置。在足够的压力下,静止坐标将与当前动态坐标混合,因此对象将保持其新形状。
-----Bend.Plasticity(可塑性)-----
Threshold(阙值)
低于此阈值,材料将恢复其原始形状。当变形超过阈值时,它将开始进入新的配置。
角度的计算是绝对值。因为角度静止时通常是平坦的,因此拉伸约束存在的“比率”概念不适用于弯曲约束。
Threshold Attribute(阙值属性)
用于缩放阙值的属性
Scale(缩放)
阙值的缩放。
Ratio of Current Rest Length(静止长度的比率)
阈值可以是绝对距离,也可以是百分比距离。比率值为 0.1 意味着拉伸 110% 压缩 90% 将触发塑性流动。
Rate(速率)
材料开始流动时采用新静止角度的速度。
Rate Attribute(速率属性)
缩放 Rate 的属性。
Scale(速率缩放)
Rate 的缩放值。
Hardening(硬化)
一些塑性材质在变形后会变得更硬,他们的硬化大于1。有些变得更软,硬化小于 1。这是刚度的对数乘数。
Hardening Attribute(硬化属性)
缩放 Hardening的属性。
Scale(缩放)
Hardening 的缩放值。
-----Breaking(断裂)-----
出现在 Hair、Pin to Target、Attach to Geometry、Stitch Points、Weld Points、Glue、Pressure
Enable Breaking(启用断裂)
当施加足够的变形或压力时,解算器可以移除约束primitives,从而有效地打破这些约束。你还可以通过在解算过程中手动删除约束来打破约束,以获得对时机的完全控制。
首先在启用可视化的情况下运行模拟对于找到合适的阈值很有用。
Threshold(阙值)
触发断裂一个约束所需的压力或位移量。
Threshold Attribute(阙值属性)
缩放阙值的点属性
Scale(缩放)
一个滑条用来控制阙值的缩放。
Type(种类)
用于断裂Weld Points和Hair约束的断裂种类:
- None(无)
No automated tests are performed. - Stretch Stress(拉伸压力)
拉伸压力必须超过阙值 - Bend Stress(弯曲压力)
弯曲压力必须超过阙值 - Stretch Distance(拉伸距离)
从目标位置到当前位置的总距离必须超过阙值。 - Stretch Ratio(拉伸比例)
当前距离和静止距离的比例必须超过阙值。 - Bend Angle(弯曲角度)
当前角度和静止角度之间的差异必须超过阈值。该值以度为单位。
Type(种类)
用于断裂距离型约束的断裂种类:
- None(无)
No automated tests are performed. - Stretch Distance(拉伸距离)
从目标位置到当前位置的总距离必须超过阙值。 - Stretch Ratio(拉伸比例)
当前距离和静止距离的比例必须超过阙值。
-----Attributes(属性)-----
Promotion Method(缩放方式)
对于按属性缩放,约束中涉及的点上可能有不同的缩放属性值应用到单个约束。这个参数控制了它们如何混合在一起
- Maximum(最大)
使用最大的缩放系数 - Minimum(最小)
使用最小的缩放系数 - Average(平均)
平均所有的缩放系数 - Multiply(相乘)
所有缩放系数相乘 - Use Source(使用源)
使用源的缩放系数,例如在缝合约束中。 - Use Target(使用目标)
使用目标的缩放系数,例如在缝合约束中。
Tag(标签)
一个字符串型面元属性constraint_tag
,用来标记所有由此节点创建的约束。此标签可用于 Vellum Constraint Property SOP 上的Constraint Group参数,以轻松更改特定约束。
参数(SOP与DOP有区别的)
> SOP
-----Geometry(几何体)-----
Visualize Thickness(可视化厚度)
用球体可视化每个点的厚度。
Compute Missing Orientation(计算缺失朝向)
要将头发几何体变形作为输入,Vellum解算器需要一个orient
属性,该属性可随时间提供稳定的旋转基础。该属性可以通过使用静止和动画蒙皮的 Guide Deform SOP 创建,或者如果启用此参数并缺少orient
属性,Vellum Constraints 将通过提取相对于指定静止朝向帧的每根头发的 transform 来计算它。
Rest Orientation Frame(静止朝向帧)
在启用计算缺失朝向时,计算头发朝向所使用的参考帧 。这通常应设置为模拟的开始帧。
Show Guide Geometry(显示指引几何体)
新生成的约束显示为指引几何体,这有助于确保点按预期顺序连接。但是,当创建许多约束时,引导显示会变得非常复杂,尤其是在尝试在下游节点的视口中选择 Vellum 几何体时。如有必要,此参数允许隐藏指引几何体。
> DOP
Activation(是否激活)
控制是否解算。例如,可用于在特定帧上添加约束。
Create Constraints(创建约束)
尝试和创建约束的频率。有些类型的约束你希望只创建一次,在这种情况下,On Creation Frame简化了设置。对于动态约束你可能希望创建的频率低于步长,因为创建和销毁约束会减慢模拟。
- On Creation Frame(在某帧创建)
仅在指定的帧上应用创建规则。 - Each Frame(每帧)
每帧应用一次创建规则,但不要更频繁。 - Each Substep(每个子步长)
在每个子步长中应用创建规则。这具有最高的准确性,但创建约束会减慢模拟速度。
Creation Frame(创建帧)
在哪帧创建
-----Bindings(绑定)-----
Geometry(几何体)
用作计算边等源的模拟对象上的 data。通常是显示或碰撞几何体。
Constraint Geometry
要向其添加新约束的模拟对象上的 data。
更多推荐
所有评论(0)