The Vellum Constraint Property SOP allows modification of common properties of Vellum constraints. In general each property corresponds to an attribute on a constraint primitive, except for Remove which is a pseudo-property that immediately deletes the constraint primitive when set. The properties can be further modified by specifying a VEXpression to perform more advanced VEX processing or geometry lookups.
Most of the parameters have a Set/Scale menu, which changes the meaning of the input parameter. When the menu is Set, the input value sets the attribute value directly. When set to Scale, the input parameter scales the existing attribute value. The scaling occurs before any VEXpression evaluation, so you can set the parameter to 1 and Scale and access the current value within the VEXpression, if so desired.
The primitive group of constraints that will have their properties modified.
The stiffness of the constraint, which controls how strongly it will pull a particle back to its rest state.
The stiffness of the constraint when being compressed below its initial rest distance.
The distance from the rest state at which the stiffness of the constraint drops off to zero, or increases from zero to full stiffness, depending on the direction of the dropoff. A negative values indicates a decreasing dropoff, where the stiffness starts at full strength and decreases to zero at the Dropoff distance from the rest state. A positive value indicates an increasing dropoff, where the stiffness starts at zero and increases to full stiffness at the specified distance from rest. For stretch constraints this value is in length units; for bend constraints it is stored in degrees.
Controls blending of target velocity into the constrained point. Provides an amount to blend every 24th of a second. Only applies to attach and pin constraints.
Stiff constraints tend to vibrate or jitter unacceptably. Damping reduces this by bleeding energy when evaluating the constraint. Values less than 1 should be used.
The rest distance of the constraint. For Stretch-type constraints this should be in linear units (meters by default). For bend-type constraints it should be in degrees.
For Pin to Target constraints, this is the world space position of the goal position for the pin. For hair bend constraints it is the quaternion representing the relative rotation from one hair segment to the next.
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.
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.
Thresholds that are ratios of the current rest length (created with the Ratio of Current Rest Length option enabled on the Vellum Constraints SOP) are stored on the constraints as negative numbers, and should be specified the same way.
The speed at which the material adopts its new rest lengths when it begins to flow.
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.
The amount of stress or displacement on a constraint to trigger a break.
This controls how the solver decides to break constraints.
No automated tests are performed.
The stretch stress must exceed the threshold.
The bend stress must exceed the threshold.
The total distance from the goal location and the current location must exceed the threshold.
The ratio between the current distance and the rest distance must exceed the threshold.
The difference between the current angle and the rest angle must exceed the threshold. This value is specified in degrees.
A pseudo-property that will cause the constraint to be removed immediately when set to
Execute the VEXpression provided to further modify the values for any properties enabled above. The names of the properties in the VEXpression will match their parameter names. For example,