|On this page|
This node lets you define a capture region around (or partially intersecting) a model, and apply deformations to the geometry inside the capture region.
The available deformations are:
Length Scale with optional volume preservation ("squash and stretch").
Liner and Smooth taper.
The capture region is the space between two parallel infinite planes, defined by an origin, a capture length, and a capture direction which is perpendicular to the planes. Outside the space between the planes, the model is not deformed.
Deformation is relative to the capture region "spine" (the vector from the origin). For example, if the capture region vector is off-center from your model, when you twist the model it will twist around the capture region vector, creating a spiral effect.
Use Bend tool from the shelf
Use Bend tool from the network
Distances between points are preserved along the spine. Distances on the inside of the bend shrink, and distances on the outside of the bend grow.
This lets you scale the model along the length of the capture region, with optional "squash and stretch" volume preservation.
This lets you scale in/out at a midpoint and the end of the capture region.
Scaling effects using masks
You can scale the effect of the deformations (globally and per-deformation) using mask attributes on the geometry. You can create useful mask attributes using Distance Along Geometry, Distance From Geometry, and Distance from Point.
The Mask parameter at the top lets you scale all deformation globally using a mask attribute.
Different controls for the various deformation types allow you to scale the control value by a mask attribute. Change the "No Scaling" pop-up menu to "Scale by Attribute", then specify the mask attribute name.
Subset of geometry to deform. Leave this blank to deform all input geometry.
Primitives with transforms (such as spheres, packed primitives, and volumes) will be transformed if their base point is.
While this node deforms points, you can select different group types (such as primitive groups or vertex groups). The node automatically converts the selection to points.
When the pop-up menu is set to "Mask on", use this point attribute to "scale" all deformation using a "mask" attribute. Points where the attribute is
0 are not deformed, points where the attribute is
1 are fully deformed, with linear interpolation in between.
Click the paint icon to the right of the text field to paint the mask attribute directly in the viewport.
Globally turn all deformation on/off. This is useful when you want to adjust the capture parameters and want to see the original input geometry.
Limit Deformation to Capture Region
When this is on, the deformation only occurs within the capture region (this is the default). When this is off, it extends the deformation beyond the end of the capture region to the end of the model.
A global squash/stretch works best with this parameter off, since the squishing will be performed uniformly rather than tapering off to the capture bounds.
Deform in Both Directions
Apply bend symmetrically across the capture origin, in both the forward and backward directions.
Perform bend deformation, show the Bend handle in the viewport.
Whether the amount of bend is an angle, or a direction that the capture spine capture should end up pointing along.
When Mode is "Angle", the angle in degrees to bend. You can make this over 180 to bend something over itself multiple times.
When Mode is "Direction", bend the capture region spine to end up pointing in this direction.
Up Vector Control
The bend is always perpendicular to the capture axis, but this specifies what orientation it should use.
The up vector to use.
Up Vector Angle
Angle (in degrees) to rotate the up vector around the capture spine.
Perform twist deformation, show the Twist handle in the viewport.
Angle in degrees to twist around the capture axis. This can be more than 360 degrees. The total twist is distributed evenly along the length of the capture region.
Continuous Twist in Both Directions
When Deform in Both Directions is enabled, will cause the continued deformation in the symmetric direction to be a continuation of the twist in the foreward direction.
Perform length scaling, show the Length handle in the viewport.
Do "squash and stretch": as you scale the length, apply an inverse perpendicular scale, so lengthening the model makes it skinny, and shortening the model makes it bulge. (Because this is applied smoothly, it is not technically accurate volume preservation). When Limit deformation to capture region is on, the scaling falls off at the ends of the capture region.
Scale the length of the captured geometry by this factor.
Perform tapering, show the Taper handle in the viewport.
Whether to blend linearly between taper scales, or smoothly (ease-in and ease-out).
The amount to scale the end of the capture region.
The amount to scale the "midpoint" of the capture region. You can move this scale between the start and end of the region using the Squish pivot parameter below.
The position of the "midpoint" scale along the length of the capture region, where
0 means the start of the region,
0.5 is halfway, and
1.0 is the end.
Lets you apply an arbitrary number of taper scales along the length of the capture region, controlled by a ramp.
When Enable ramp is on, the horizontal axis represents the length of the capture region (start on the left, end on the right). At each point across, the value represents the amount of scaling (where
0.5 means "no scaling", values greater than
0.5 scale out, values less than
0.5 scale in). Note that you can set a value for a point above
1.0 using the parameters below the ramp.
Set Capture Region
Click this, then click two points in an orthographic viewport to define the capture region. This is the same as choosing the points when using the shelf tool.
The center of the source capture plane.
The normal of the capture planes, and the direction pointing to the destination capture plane from the source.
Controls the region of space that receives the partial transforms. Must not be zero in length.
When this is on, create this point float attribute on the output geometry. The attribute will have
0 on points that were not deformed, and
1 on points that were fully deformed. This may be useful for visualizing the amount of deformation in different parts of the model.
Use Rest Positions
If this is on, and the second input is connected, use the point positions in the second input to compute which points are in the capture region. If this is on and the second input is not connected, use a
rest point attribute if present (this should be a 3float attribute containing the "rest" position of each point). If this is on but no
rest attribute exists, the node creates it from the initial point positions. If this is off, the node uses the point positions as they are in the input.
Attributes to Transform
A space-separated list of names and/or patterns. Attributes whose names match are transformed along with the point positions. The node uses each attribute’s type info to transform it properly (as points, vectors, or normals).
If you change this from the default (
*, all attributes), make sure
P (point positions) is on the list unless for some reason you want to transform other attributes but not actually deform the geometry.
Recompute Affected Normals
Recomputes normals of polygons that have both transformed and untransformed points.
If you're transforming the full geometry or all connected components, this setting is irrelevant. It only matters if you deform part but not all of a connected piece.
This does nothing if
P is not listed/matched in Attributes to transform.
Preserve Normal Length
Normal lengths remain unaffected.
Geometry to Bend
Can be any geometry, including NURBS and Beziers, but should have enough points for deformation to modify.
If connected, the node uses this to determine where points are in the capture region. This is useful if you're stacking Bends and you don’t want the capture to change as a result of upstream operations.