1
$\begingroup$

I need to capture initial curve control points before subdividing it and distorting them points. So then I just want to instanciate on the initial points and not all the subdivided points.

Capture Attribute before subdivision doesn't seem to work. As you can see in the image it's instancing on all points and I want just to do it on the 4 control points of a basic circle curve.

enter image description here

enter image description here

$\endgroup$
6
  • $\begingroup$ If I understand well, you want to resample, modify the resampled point position, but keep the initial vertices in the curve (so that you can instantiate on them)? Is that it? $\endgroup$
    – lemon
    Commented Mar 31, 2023 at 8:38
  • $\begingroup$ yes I want to instanciate only on the 4 initial control points on that deformed curve. $\endgroup$
    – Miguel
    Commented Mar 31, 2023 at 8:49
  • $\begingroup$ but these points are lost when resampled $\endgroup$
    – lemon
    Commented Mar 31, 2023 at 8:49
  • $\begingroup$ mmm yeah you are right.... I should find other solution for doing that $\endgroup$
    – Miguel
    Commented Mar 31, 2023 at 8:54
  • $\begingroup$ maybe subdivide it in some way? $\endgroup$
    – lemon
    Commented Mar 31, 2023 at 8:55

1 Answer 1

4
$\begingroup$

You have to choose some attribute of your curve which is invariant under subdivision and deformation. An obvious option is the 0-1 Factor.

In the group below, the example input curve is a 4-point Bezier Circle.

enter image description here

(For demonstration purposes, the Mess With Curve group resamples the curve, and randomly offsets its points.)

The original factor on the curve has been stored on the instances, which look up, and are set to, the Position corresponding to their Factor on the deformed version of the curve. (You could sample the rotation as well, if wanted)

enter image description here

This method seems only to work in Blender 3.5 at the moment, since, on cyclic curves, there appears to be an off-by-one error in Sample Curve in (at least, my version of) Blender 3.41. If anybody can contradict this, I'd be grateful.

(Blender 3.5 beta)

$\endgroup$
1
  • $\begingroup$ Hi @Miguel !, will look when I can. As you say, it probably depends on the order of events.. which attributes are stored where (maybe name them?) , and whether they can be picked up further down the pipeline. I Probably won't see this until tomorrow am. $\endgroup$
    – Robin Betts
    Commented Apr 2, 2023 at 18:38

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .