← All ideas
  • Published 14 Dec 2025

A more geometrically stable method for Sample Curve Nodes

Currently, the Sample Curve node has two modes: Factor and Length. Both are ultimately based on the length of the original curve. However, this approach has a downside in terms of geometric stability: if the curve deforms and its length changes, the sampled result can glitch very quickly.

This issue becomes especially problematic in motion graphics, where curves often distort into different shapes. For example, transitioning from a straight line into a sine-wave or knitting-like pattern as shown. In such cases, length-based sampling becomes unstable, as a position at, say, 50% of the curve’s length can shift significantly during the deformation.

Sample Curve.png

Here's also a video example showing the issue. The top is the original curve, the middle is the original curve points, and at the bottom is the new points generated by Sample Curve function that was made to equally distribute them along the spline factor. The points generated by the bottom curve is glitchy and keeps sliding because the length of curve keeps changing.

A more stable approach would be to base sampling on the point indices of the original curve, since these points (represented by the red dots in Fig., or the middle curve points shown in the video) are what actually deform over time. For example, if points at 10% and 20% of the curve are stretched, sampling within this range should remain constrained between those points, without pulling in values from outside the 10%–20% region.

Overall, this idea is similar to Sample UV Surface: when UVs are stretched, sampling is interpolated within the corresponding UV range. I hope a similar mechanism can be implemented for curves, so that a geometrically stable mapping can be achieved without converting the curve to a mesh just to generate UVs.

100%

Development Status: Open

Upvote 5 Downvote 0
bradley
14 Dec 2025

0 Comments