Resample

Resample 2D paths to a target anchor count or spacing, or decimate 3D meshes.

What it does

Resample redistributes the anchors on a 2D shape, or thins out the triangles of a 3D mesh. Which one happens depends entirely on what is plugged into Input. A shape has its path anchors rewritten in place: fill, stroke, and every other shape property stay as they were, and only the anchor positions and count change. A mesh is decimated instead, collapsing edges to hit a target polygon budget while trying to keep the silhouette intact.

On shapes, three modes control anchor placement: a fixed Count, a fixed spacing Length along the path, or an Adaptive mode that packs more anchors into tight curves and fewer into straight runs.

When to use it

ParameterTypeDefaultWhat it does
inputPrimitives or Geometries—Shape (Crc) to resample or Geometry to decimate
modeString"Count"Count: fixed target, Length: fixed spacing, Adaptive: curvature-based. One of: Count, Length, Adaptive.
countNumber32Target anchor count per path
lengthNumber10Arc-length spacing between anchors
min_lengthNumber2Minimum distance between anchors in high-curvature areas
max_lengthNumber20Maximum distance between anchors in straight sections
curvature_scaleNumber1How strongly curvature affects anchor density (higher = more anchors at curves)
corners_onlyBooleanfalseZero the bezier handles on every output anchor — produces a polyline (no curve fitting)
ratioNumber0.500Fraction of triangles to keep (0.1 = 10%, 0.5 = 50%)
preserve_boundariesBooleantruePrevent collapsing edges on mesh borders — preserves silhouette of open meshes
preserve_seamsBooleantruePrevent collapsing across normal discontinuities and UV seams
max_normal_deviationNumber45Reject collapses that would change face normals by more than this angle
strengthNumber1Effect strength / wet-dry (0 = no effect, 1 = full). Editable, wirable, keyframable.

Gotchas

On mesh decimation the strongest lever today is Max Normal Deviation, which caps how far a collapse may change a face's normal and is what keeps the silhouette from collapsing along with the geometry. Ratio, Preserve Boundaries, and Preserve Seams are present for finer control but are not yet fully wired into the decimator, so do not rely on them to protect specific edges.

Resample reads what is connected to Input, not the Mode dropdown, to decide between redistributing shape anchors and decimating a mesh. Mode, Count, Length, and the Adaptive controls only apply, and only appear, when a shape is connected.

Polyline Output zeroes the curve handles on every anchor, turning a smooth bezier shape into hard straight segments: a faceted, low-poly look, or preparation for an operation that expects straight edges.

Worked example

  1. Add a Resample and wire a traced or imported shape into Input.

  2. Leave Mode on Count and set it to the exact number of anchors you need. 32 is a good starting point for a smooth curve.

  3. Switch to Adaptive if the shape has both tight curves and long straight runs, and raise Curvature Scale until the curves hold their shape.

  4. Enable Polyline Output for hard corners instead of smooth curves.

  5. To decimate a mesh instead, wire a Geometry output into Input and lower Ratio to keep only the fraction of triangles you need.

See also

Stroke · Separate · Geometry (meshes)