Description
A deformer that attracts vertices to a nurbs curve using a distance-based falloff. It can be used to create sticking effects like sticky lips.
The node has two modes of evaluation: distance-based and time-based. Distance-based is shown in the video above where the animator must explicitly control the amount of stick. Time-based makes the node a bit more automated in that vertices will begin to stick automatically once they are within a certain threshold. When the vertices are larger than this threshold, they will begin to release over time. This is displayed below:
Node Reference
| Long Name | Type | Default |
|---|---|---|
| initialized Internal initialization flag. Should not be set. |
boolean | false |
| curve Attractor curve. |
nurbsCurve | null |
| stickThreshold In time-based mode, this is the distance from the curve at which vertices must be in order to stick to the curve. |
float | 0.2 |
| distanceThreshold Distance threshold at which points start getting attracted to the curve. |
float | 1.0 |
| magnitude Attraction magnitude. |
float | 0.0 |
| facingRatioOffset Increases the normal angle tolerance at which points will be attracted to the curve. |
float | 0.0 |
| facingRatioMagnitude Scales the normal angle tolerance at which points will be attracted to the curve. |
float | 1.0 |
| stickRate In time-based mode, this is the rate at which vertices begin to stick to the curve once they are within the stickThreshold. |
float | 0.1 |
| releaseRate In time-based mode, this is the rate at which vertices release from being stuck to the curve. Vertices begin releasing once their distances from the curve are greater than the stickThreshold. |
float | 0.3 |
| startParam Internal data storage |
doubleArray | 0 |
| timeBased Sets the calculation mode for the deformer. If false, the node works solely based on distance and the keyable attributes. Animators must key the magnitude or distanceThreshold on and off. If true, vertices begin sticking once the distance between them and the curve is less than the stickThreshold. The amount of stick increases by stickRate each calculation with a maximum value of distanceThreshold. When the distance between the vertices and the curve are greater than the stickThreshold, the amount of stick decreases by releaseRate each calculation with a minimum of 0. |
bool | false |
Usage Notes
Create the Deformer
Select the mesh, then the curve and type:
import cvStickyCurve
deformer = create(mesh=None, curve=None, name='cvStickyCurve#', timeBased=False)
"""
Creates an cvStickyCurve deformer.
Parameters:
mesh - Mesh to create deformer on.
curve - Curve to use as attractor
name - Name of the deformer to create.
timeBased - Sets whether the node will run be time-based or distance-based. This
can be changed after the node is created.
Returns:
The name of the created cvStickyCurve node.
"""
Once the deformer is created, you can optimize it by editing the deformer membership to only include the subset of vertices that you want to deform. You can also paint the influence weight of the deformer.

