Since | 17.0 |

The Vellum Constraints SOP creates constraints from the incoming geometry suitable for the Vellum solver.

All Vellum material types, such as cloth, hair, or softbody, are described as a set of explicit constraints between points. A Vellum configuration is made of two geometries. The display and collision geometry is the first input and first output. The constraint geometry is the second input and second output. The two should have one-to-one point correspondence, so are often processed as a pair by most Vellum nodes.

Vellum Constraints can generate almost all constraint types since most constraints are defined by a common set of parameters. But to make it easier to setup, many tab-menu macros are present to configure common constraint types.

## Parameters

Constraint Type

The type of constraint to generate. This affects the visibility of many of the other parameters. Usually this is set by using the appropriate tab-menu macro.

None

No constraints are generated.

Distance Along Edges

Turns each edge in the display geometry into a distance constraint maintaining that edge length.

Bend Across Triangles

Each pair of triangles (or implied triangles if input is quads or higher) creates a constraint maintaining the initial dihedral angle between the triangles.

Cloth

Creates constraints that consist of both distance on edge and bend across triangle constraints.

Hair

Creates constraints that consist of distance on edge and bend between edges. This bend also includes the twist of the edges, allowing torsion effects.

String

Creates constraints that are a lighter weight hair constraint. They are a distance along the edge and the angle between edges. However, they don’t have any twist constraints, so the edges can spin freely.

Pin to Target

Pins the specified points to the corresponding point in the target geometry. The target geometry for a Vellum solver is usually the first input, so it matches the animation, but can be overridden.

Attach to Geometry

Attaches the specified points to the geometry in the third input. They will store their closest point at the attach frame and create a distance constraint tying them to it.

Stitch Points

Stitches points within the same geometry together using distance constraints. The points do not need to actually be connected by geometry. This is useful for keeping jackets closed or preventing pockets from flapping.

Pressure

Stores the original volume and builds a many-point constraint to maintain it, for each piece determined by the **Define Pieces** parameter. The enforcement is global, so squishing one place will expand another, like a balloon. A `pressurescale`

point attribute can be used to scale the effect of the pressure constraint on a per-point basis. This attribute can be used for interesting inflation effects, but should be used with care as it can also lead to unbalanced forces if the `pressurescale`

is near zero on only one side of an un-pinned balloon, for example.

Tetrahedral Volume

Turns each tetrahedron into a constraint to maintain the volume of the tetrahedra.

Note

This does not include any shear or stretch constraints. Additional distance constraints need to be added to make a proper softbody.

Weld Points

While not a constraint per-se, this edits the `weld`

attribute to cause the points to be logically fused into a single point for the solve. However, they will remain independent points otherwise. In addition, this can build bend constraints where edges have become logically fused, ensuring the result acts like a single flat piece. The Vellum Post Process SOP can rewire the welded vertices after simulation so that the geometry appears connected for rendering.

Glue

Each point will search for a nearby point that is not a member of its own piece. It will construct a distance constraint holding it to that point. This is useful for building systems that automatically glue together by proximity, especially when combined with breaking.

Struts

Each point will search for a distant point that is of its own piece, but which it has a straight line-of-sight to. It will build a distance constraint to that point. This constructs a large number of toothpick like internal struts that give an object stiffness and volume without the expense of a fully FEM solve.

Tetrahedral Fiber

Turns each tetrahedron into a constraint that attempts to flatten along the direction specified by the `materialW`

attribute on its points, or `{0, 0, 1}`

if that attribute doesn’t exist. These constraints can be created with low stiffness that is animated up during the simulation with Vellum Constraint Property to simulate volumetric contraction effects.

Triangle Stretch

Turns each triangle into a constraint that keeps the triangle As-Rigid-As-Possible (ARAP) by removing any stretching or skewing, according to the specified stiffness.

Tetrahedral Stretch

Turns each tetrahedron into a constraint that keeps the tetrahedron As-Rigid-As-Possible (ARAP) by removing any stretching or skewing, according to the specified stiffness. If **Preserve Volume** is enabled, the constraint additionally attempts to preserve volume with a very high internal stiffness but the specified **Damping Ratio**, similar to the way the **Tetrahedral Volume** constraint functions.

Shape Match

Creates a constraint that pulls its points back to the original (rest) shape, for each piece determined by the **Define Pieces** parameter. This constraint can be used to add rigidity either on top of existing constraints such as cloth, or by itself to create mostly rigid objects that can interact with other Vellum geometry.

Tip

Shape Match constraints generally work best with **Mass** set to
**Calculate Uniform**, and with consistently sized geometry. To generate this type of geometry, you can use a Remesh SOP.

Tip

An effective workflow with this constraint type is to use the Extract Transform SOP on the simulation output to generate an oriented point per piece, then the Transform Pieces SOP to transform the original render geometry onto these points. This workflow can also avoid any small deformations if the constraint fails to remain rigid at collision points or pins.

Stretch Type

Selects which type of Stretch constraints are used when the **Constraint Type**
is set to **Cloth**. The linear **Triangle Stretch** constraints converge to
their proper stiffness faster than **Distance Along Edges** at higher cloth resolutions,
but do not support anisotropy via the **Enable Warp/Weft** parameter.

Preserve Volume

When the **Constraint Type** is set to **Tetrahedral Stretch**, also apply
a constraint that preserves volume with a very high internal stiffness and
the specified **Damping Ratio**, similar to the way the **Tetrahedral
Volume** constraint functions. Note that for more control, or if
experiencing instabilities due to the very high stiffness, you can turn
this option off and add a subsequent **Vellum Constraint** SOP set to
**Tetrahedral Volume** for a similar, but more controllable, volume-
preserving effect, at a slight loss of solve performance.

Use Linear Model

The **Triangle Stretch** and **Tetrahedral Stretch** constraints use a non-linear
model of stretching that gives good behavior for low stiffness, high
stretching configurations useful for organic materials like muscle and
skin. Enabling this option switches to a linear model that generally
performs better for high stiffness, low stretching configurations like hard
solids or cloth. It also provides more predictable stress values for
fracturing effects using breaking welds due to **Stretch Stress**.

## Geometry

Group Type

Controls the type used for the source points for the constraint.

Group

The group for the source points of the constraint. These are the points or primitives that are turned into the constraint or are used as the starting half of the constraint.

Triangulation

Distance and bend constraints are usually built on a triangle mesh. Rather than forcing the input to be triangulated, it can be implicitly triangulated.

None

Do not triangulate the input implicitly.

Regular

Consistently split into triangles.

Alternating

Attempt to reverse the triangle splitting so a series of quads have a less regular structure.

Mass

`mass`

value for the points. The mass affects how they interact with
POP forces and other pieces of Vellum geometry, and how strong the constraints are.

Unchanged

Do not set the `mass`

attribute.

Set Uniform

Set the `mass`

attribute to the specified value.

Calculate Uniform

Calculate a uniform value for the `mass`

attribute for the points on a per-piece basis,
as determined by the **Define Pieces** setting. For tetrahedral geometry, the overall volume
for each piece is calculated then multiplied by the **Density** parameter to find the mass of each piece.
This mass is then distributed equally across each point in that piece. For polygonal geometry, the overall
area of each piece is used, and for polylines the line length is used.

Calculate Varying

Calculate a varying value for the `mass`

attribute for the points. For tetrahedral geometry, each point
accumulates 1/4 of the volume of each incident tetrahedron to find its overall volume, which is then
multiplied by the **Density** parameter to find the mass for each point. For polygonal geometry, each point
accumulates its share of the area of each incident polygon, and for polylines its share of each incident edge
length. This approach generally gives the most physically accurate results, especially as the resolution of
the geometry changes.

Density

The volume used in calculating mass is scaled by this value when **Mass** is set to **Calculate Uniform**
or **Calculate Varying**. This value can be further set to **Scale By Attribute** to scale by the specified
point attribute in the varying case.

Density Attribute

The **Density** parameter will be scaled by this point attribute.

Thickness

Thickness of the points, stored in `pscale`

. Used also for the
triangle thickness and curve thickness.

Unchanged

Do not set the `pscale`

attribute.

Set Uniform

Set the `pscale`

attribute to the specified value.

Calculate Uniform

Calculate a uniform value for the `pscale`

attribute for the points on a per-piece basis,
as determined by the **Define Pieces** setting. The thickness value is based on the average
length of the edges in each piece, scaled by the **Edge Length Scale** parameter. This setting
generally avoids excess self-collisions while maintaining uniform thickness.

Calculate Varying

Calculate a varying value for the `pscale`

attribute for the points. The thickness value is based on the average
length of the edges connected to each point, scaled by the **Edge Length Scale** parameter. This setting
is better for geometry of varying resolution, but generally gives non-uniform thickness values.

Edge Length Scale

Each edge length will be scaled by this value before being used in the **Thickness** calculation.

Visualize Thickness

Visualize the thickness of each point with a sphere.

Define Pieces

Pressure constraints split the object into disjoint pieces to compute and enforce the volume. Mass and Thickness calculations, and Glue and Strut constraints also need a way to define separate pieces.

From Attribute

This attributes unique values are used to define each piece.

From Connectivity

Connectivity of the input geometry is used to define the pieces.

Piece Attrib

The attribute used to define the pieces. This can either be a point or a primitive attribute.

Layer

The points will be given this as their `layer`

attribute, useful
in cloth simulations to define a stacking order for Layer Shock.

Compute Missing Orientation

For deforming hair geometry as input, the Vellum Solver requires an
`orient`

attribute that provides a stable rotation basis over time. This
attribute can be created with the Guide Deform SOP
using rest and animated skin, or if this parameter is enabled and `orient`

is
missing, Vellum Constraints will calculate it by extracting a
per-hair transform relative to the specified **Rest Orientation Frame**.

Rest Orientation Frame

The reference frame used when computing hair orientations if
**Compute Missing Orientation** is enabled. This should usually be set
to the start frame of the simulation.

Show Guide Geometry

The newly generated constraints are displayed as guide geometry, which is useful to ensure points are connected in the order expected. However, the guide display can become quite complex when many constraints are created, especially when trying to select Vellum geometry in the viewport in downstream nodes. This parameter allows hiding the guide geometry if necessary.

## Target Geometry

Target Group Type

The type of group for the constraint targets.

Target Group

The target group. This group specifies the second half of
**Attach to Geometry** and **Stitch** constraints.

Target Path

For Attach to Geometry constraints, the SOP attached to the third input will be read at solve time to get the current animation data. Specifying a path here will override that. This is useful if a different animation is desired at solve time than capture time.

Note

This is the path to override the animation with, and does not affect the actual capturing. Capturing is always done with the third input.

Attach Frame

Controls which frame of the third input is used for attaching the geometry.

## Drag

Normal Drag

Creates the `dragnormal`

attribute and sets it to this value. This
scales the drag of the point when wind forces are applied to it
in the normal direction of its surface, or perpendicular to the
curve.

Differing normal and tangent drag is essential for flapping flags.

Tangent Drag

Creates the `dragtangent`

attribute and sets it to this value.
This scales the drag of the point when wind forces are applied to it
in the tangent direction of its surface, or tangent to the curve.

## Pin to Animation

Pin Points

Points to pin to the target animation. Usually the target animation is the first input of the Vellum solver, but it can be overridden on the Vellum Solver SOP or with the Vellum Source DOP.

Pin Type

How to pin the point position to the target animation.

Permanent

The `mass`

attribute is set to zero, making the point a hard constraint. However, as no original value of `mass`

is stored, it isn’t possible to release this constraint later.

Stopped

The `stopped`

attribute is set to `1`

to make the point a hard constraint. `mass`

is unaffected so a POP operation can restore the dynamics of the point later by resetting `stopped`

to `0`

.

Soft

A zero length distance constraint is made between the point and its target location. The Stretch **Stiffness** and **Damping Ratio** values are used for this constraint.

Orientation Pin Type

In addition to holding the location of a point, for hair the orientation often may also be constrained.

Note

This constrains the orientation of the out-going line segments of the hair. So orientation-pinning the tip of a hair will not affect the angle of the incoming hair.

None

Do not constrain the orientation to the target animation.

Same as Position

Use the position constraint rules. In case of Stopped, the `stopped`

attribute is set to 3 to reflect both types of update are suppressed.

Soft

Add a bend/twist constraint to maintain the orientation of the pinned point to that of the target animation. The Bend **Stiffness** and **Damping Ratio** values are used for this constraint.

Match Animation

Controls if the target is updated from the animation during the solver or if only the initial value is used.

## Closest Point

Constrain to Closest Point

When finding a matching point to a source point, do not go through the target points in order, but pick the point that is closest first.

Use Closest Location on Primitive

For **Attach to Geometry** and **Stitch Points** constraints, do not just choose the closest point,
but the closest position on a primitive. The primitive number and
barycentric coordinates are then stored. For **Stitch Points** constraints, only polylines, triangles, and
quads are supported as the **Target Geometry** for constraint generation when this option is enabled.

Max Distance

Maximum distance to consider eligible for stitching points.

Sliding Rate

For **Attach to Geometry** and **Stitch Points** constraints, the attachment point of the constraint
will slide across the target surface at this rate, where 1 matches the constrained point’s velocity.
This option only works to slide across primitives, so **Use Closest Location on Primitive** must
be enabled and the **Target Group Type** must be set to **Primitives**. The method used for finding
the next closest sliding target can be set with the Vellum Solver’s
**Sliding Method** parameter.

Sliding Attribute

A point attribute that scales the **Sliding Rate** when set to **Scale by Attribute**. This attribute will
be applied according to the attribute **Promotion Method**, and will be stored on the constraint to be
applied during the simulation. In this way the attachment point can slide across a painted surface, where the
painted attribute value controls the **Sliding Rate**.

## Glue Search

Cluster Attrib

While glue constraints are made between points of different pieces, they will only be made between points of the same cluster. If the cluster value is -1, no gluing will be done.

Min Search Dist

Minimum distance to look for eligible glue points.

Max Search Dist

Maximum distance to look for eligible glue points.

Max Search Points

Maximum number of points to consider for eligible glue points.

Search Preference

The order in which points should be considered for eligible glue points.

Note

You will likely need to increase the **Max Search Points** parameter
when setting this parameter to **Farthest**, as the internal search function
always returns nearest points first. There must be sufficient points in the
search query to reach the farthest points as specified by the **Max Search Dist**
parameter.

Constraints Per Point

Number of glue constraints to create for each point.

Detach Object Chance

Each piece has this chance to be marked ineligible for gluing and receive and generate no glue constraints. This allows for stray hairs.

Detach Point Chance

Each pair of points has this chance to be being marked ineligible for gluing.

Seed

Random seed used to generate the detach chances.

## Strut Search

Max Strut Length

Maximum distance to create struts. Must be large enough to cover the diameter of the object, but avoiding extremely long struts can help avoid artifacts.

Direction Attribute

Struts are created by sending a ray along the direction attribute in search of the piece. The default direction is to use the normal of the surface.

Invert Normals

Invert the sense of the objects normals for sending rays, useful if the incoming geometry has reversed normals.

Test Normals

Verify the goal of the strut has a normal suggesting it was properly hit from the inside.

Direction Jitter

Jitter the direction the strut is sent in to break symmetry in the struts.

Constraints Per Point

Maximum number of struts to add for each point.

Detach Point Chance

Chance of a point being marked ineligible for struts.

Seed

Random seed to control the jitter and detach chances.

Ray Offset

The initial ray for the strut needs an offset to avoid hitting the surface it was sent from.

## Stretch

Stiffness

The stiffness of the constraint, which controls how strongly the constraint pulls particles back towards its initial rest state. To dial in initial values, change by factors of 10.

Stiffness Attribute

Point attribute to scale the stiffness by.

As effective changes in stiffness requires painting over orders of magnitude, this has a logarithmic effect.

Scale

Single slider control over the stiffness.

As effective changes in stiffness requires painting over orders of magnitude, this has a logarithmic effect.

Damping Ratio

Stiff constraints tend to vibrate or jitter unacceptably. Damping reduces this by bleeding energy when evaluating the constraint. Too much damping can prevent the constraint from being satisfied, however. Values less than 1 must be used.

Damping Attribute

Attribute to adjust damping, multiplied into the damping ratio.

Scale

Single slider to control damping, multiplied into the damping ratio.

Rest Length Scale

The rest length of the distance constraints will be the original distance
between the points. This scale can be used to increase or decrease
this. Setting to `0`

will try to collapse the points together.

Compression Stiffness

The stiffness of the constraint when being compressed below its initial rest distance. A very stiff low resolution cloth can become unbendable due to its topology, rather than due to the bend constraints. A network of triangles has very few ways that it can bend if it is fully stiff. By setting a lower compression stiffness, the cloth is allowed to collapse and regain its fluidity. Usually this has to be raised with higher resolution cloth.

Tangent Stiffness

The stiffness of the constraint in the direction tangent to the target surface for Attach to Geometry constraints. Tangent stiffness can be useful to help hold up pants or a belt that are attached to a body at the waist, for example.

Note

Setting this parameter to a non-zero value creates an additional constraint from the Vellum point to the line that intersects the closest point on the target surface. This constraint uses the same Breaking, Plasticity, and Scaling settings as the primary Stretch constraint.

Stiffness Dropoff

The distance from the rest length at which the stiffness of the constraint
decreases to zero, or increases from zero to full stiffness, depending on
the direction of the dropoff. A **Decreasing** dropoff means that the
stiffness starts at full strength and decreases to zero at the Dropoff
distance from the rest length. An **Increasing** dropoff means
the stiffness starts at zero and increases to full stiffness at the
specified distance from rest length. If **Min Stiffness** is enabled, its
value is used as the minimum stiffness in these calculations, rather than zero.

Decreasing dropoff can be useful for creating glue constraints that lose
stiffness as they are stretched, decreasing to zero at the specified
distance. Using the same distance in the breaking **Threshold** with a
**Break Type** of **Stretch Distance** will cause the constraints to be
removed at the same time they reduce to zero stiffness.

Min Stiffness

If this checkbox is turned on, this value will be the minimum stiffness used when calculating the **Stiffness Dropoff**.

Enable Warp/Weft

Enables an adjustment to the stiffness based on orientation, allowing a cloth network to stretch more on one axis than another.

### Anisotropy

Warp Scale

Scale factor for cloth lined up with the material u axis. This is a logarithmic multiplier.

Weft Scale

Scale factor for cloth lined up with the material v axis. This is a logarithmic multiplier.

Shear Scale

Scale factor for cloth lined up with the diagonal material uv axis. This is a logarithmic multiplier.

Material UV

Point attribute to use to specify the coordinate frame for warp and weft computations.

Velocity Blend

Constraints that attach to geometry or pin to the target can optionally
blend in the target’s velocity. This requires the target to have
a `v`

point attribute to provide the local velocity. The blending
is done per 24th of a second, so a blend factor of 0.5 will mix in
50% of the target velocity in a standard frame.

Blending in velocity will highly damp the simulation, but can be useful to allow the cloth to anticipate motion, avoiding whiplashing from sudden movements. Zero stiffness attachment constraints can be used to apply only velocity blending without any additional forces.

Enable Plasticity

Plasticity allows an object to flow to a new rest position. Under sufficient stress, the rest coordinates are blended to the current dynamic coordinates, so the object will retain its new shape.

### Plasticity

Threshold

Below this threshold the material will return to its original shape. When deformed past the threshold, it will begin to creep into its new configuration.

Threshold Attribute

Attribute to scale the stretch threshold by.

Scale

Single scale slider for the threshold.

Ratio of Current Rest Length

The threshold can either be an absolute distance, or be a percentage distance. A value of 0.1 as a ratio would mean stretching of 110% of compression of 90% will trigger plastic flow.

Rate

The speed at which the material adopts its new rest lengths when it begins to flow.

Rate Attribute

Attribute to scale the plastic rate by.

Scale

Single scale slider for the plastic rate.

Hardening

Some plastic materials become stiffer after they've undergone deformation. These will have a hardening greater than 1. Some become softer so will have hardening less than 1. This is a logarithmic multiplier on stiffness.

Hardening Attribute

Attribute to scale the plastic hardening by.

Scale

Single scale slider for plastic hardening.

Output Group

The generated stretch constraints are all added to this primitive group. This is useful to edit them later with a Vellum Constraint Property DOP.

Keep Unique within Output Group

Ensures that a particular point can only be constrained once by the constraints in the **Output Group**. When dynamically creating constraints it can be common to re-create constraints between the same points every frame. Keeping the points unique within the output group prevents a constant accumulation of constraints.

## Bend

Add Bend across Welds

When welding points together, two outside edges may become an inside edge. If they do not gain any bend constraints the seam will be weak and noticeably fold or kink. This option generates bend constraints where this is detected.

Copy Neighboring Stiffness

The value of the generated bend constraints can be copied from the bend of surrounding triangles, ensuring a consistent piece of cloth is built without having to channel link parameters.

Stiffness

The stiffness of bend constraints. To dial in initial values, change by factors of 10.

Note

Bend constraints are based on angle differences, so higher resolution cloths will require higher stiffness to exhibit similar radii of curvature.

Note

Very high bend stiffness on high resolution models will require a very large number of iterations to converge.

Stiffness Attribute

Point attribute to scale the stiffness by.

As effective changes in stiffness requires painting over orders of magnitude, this has a logarithmic effect.

Scale

Single slider control over the stiffness.

Damping Ratio

Stiff constraints tend to vibrate or jitter unacceptably. Damping reduces this by bleeding energy when evaluating the constraint. Too much damping can prevent the constraint from being satisfied, however. Values less than 1 should be used.

Damping Attribute

Attribute to adjust damping, multiplied into the damping ratio.

Scale

Single slider to control damping, multiplied into the damping ratio.

Rest Angle Scale

The rest angle of the bend constraints will be the original dihedral
angle between the triangles. This scale can be used to increase or
decrease this. Setting to `0`

will treat the original configuration as a
flat sheet.

Stiffness Dropoff

The number of degrees away from the rest angle at which the stiffness of
the constraint decreases to zero, or increases from zero to full stiffness, depending on
the direction of the dropoff. A **Decreasing** dropoff means that the
stiffness starts at full strength and decreases to zero at the Dropoff
degrees from the rest angle. An **Increasing** dropoff means the stiffness
starts at zero and increases to full stiffness at the specified degrees away
from rest angle. If **Min Stiffness** is enabled, its value is used as the
minimum stiffness in these calculations, rather than zero.

A small amount of **Increasing** dropoff can be useful with cloth to make it buckle
from a flat state very easily, adding additional wrinkling without changing the overall
bend stiffness and look of the cloth too significantly. Decreasing dropoff can be useful
for making stretchy glue constraints that weaken right before breaking without snapping back.

Min Stiffness

If enabled, the minimum stiffness value when calculating **Stiffness Dropoff**.

Max Branch Angle

When adding torsion-free string bend constraints, they work best when the rest angle is close to straight. Setting the max branch angle allows something like a net of ropes to only have the bend constraints along the straight ropes, not on the perpendicular sections.

Enable Plasticity

Plasticity allows an object to flow to a new rest position. Under sufficient stress, the rest coordinates are blended to the current dynamic coordinates, so the object will retain its new shape.

### Plasticity

Threshold

Below this threshold the material will return to its original shape. When deformed past the threshold, it will begin to creep into its new configuration.

This is an absolute angle measurement. Because rest angles are often flat, the idea of a ratio that exists for stretch constraints does not apply to bend constraints.

Threshold Attribute

Attribute to scale the bend threshold by.

Scale

Single scale slider for the threshold.

Rate

The speed at which the material adopts its new rest angles when it begins to flow.

Rate Attribute

Attribute to scale the plastic rate by.

Scale

Single scale slider for the plastic rate.

Hardening

Some plastic materials become stiffer after they've undergone deformation. These will have a hardening greater than 1. Some become softer so will have hardening less than 1.

Hardening Attribute

Attribute to scale the plastic hardening by.

Scale

Single scale slider for plastic hardening.

Output Group

The generated stretch constraints are all added to this primitive group. This is useful to edit them later with a Vellum Constraint Property DOP.

Keep Unique within Output Group

Ensures that a particular point can only be constrained once by the constraints in the **Output Group**. When dynamically creating constraints it can be common to re-create constraints between the same points every frame. Keeping the points unique within the output group prevents a constant accumulation of constraints.

## Breaking

Enable Breaking

Constraint primitives can be removed by the solver when sufficient deformation or stress is applied, effectively breaking those constraints. You can also manually break constraints by deleting them during the solve to gain full control of the timing.

Running the simulation first with visualization enabled can be useful to find what are good values for the thresholds.

Threshold

The amount of stress or displacement on a constraint to trigger a break.

Threshold Attribute

Point attribute to scale the threshold by.

Scale

Single slider to scale the threshold.

Type

This controls how the solver decides to break weld and hair constraints.

None

No automated tests are performed.

Stretch Stress

The stretch stress must exceed the threshold.

Bend Stress

The bend stress must exceed the threshold.

Stretch Distance

The total distance from the goal location and the current location must exceed the threshold.

Stretch Ratio

The ratio between the current distance and the rest distance must exceed the threshold.

Bend Angle

The difference between the current angle and the rest angle must exceed the threshold. This value is specified in degrees.

Type

This controls how the solver decides to break distance constraints.

None

No automated tests are performed.

Stretch Stress

The stretch stress must exceed the threshold.

Stretch Distance

The total distance from the goal location and the current location must exceed the threshold.

Stretch Ratio

The ratio between the current distance and the rest distance must exceed the threshold.

## Attributes

Promotion Method

The scale-by-attribute functions have to apply the possible different scale attribute values on the points involved in the constraint to a single constraint. This controls how they are blended together.

Maximum

The maximum scale factor is used.

Minimum

The minimum scale factor is used.

Average

The average of the points scale factors is used.

Multiply

The scale factors are all multiplied together.

Use Source

The source points scale factor is used, such as in a stitch constraint.

Use Target

The target points scale factor is used, such as in a stitch constraint.

Tag

A string stored in the `constraint_tag`

primitive attribute for all constraints created by this node. This tag can be used in the **Constraint Group** parameter on the Vellum Constraint Property SOP to easily to alter specific constraints.

See also |