1
$\begingroup$

I have appearing and disappearing distributed points when deforming an extruded curve in GN.

I want the amount of points to remain constant. (Extruded curve is animated with AnimAll) . I attach the .blend:

enter image description here

enter image description here

$\endgroup$
1
  • $\begingroup$ Unfortunately, the way you are currently implementing this, it cannot be solved with Geometry Nodes. As soon as the topology or the dimensions of your mesh change, the distribution of the points changes as well. The only possibility you have here is to create everything in Geometry Nodes and to create the distribution of the points before the deformation. $\endgroup$
    – quellenform
    Mar 17 at 21:36

1 Answer 1

1
$\begingroup$

Think of the geometry as part of the seed. If you changed the shape of a bingo barrel slightly, you probably would get completely different numbers. Similarly here, you get consistency only if you apply a deformation after randomizing the points. For mathematical deformations that's easy, you just apply the deformation on the point coordinates as well. In your case it's not an option, so here's an alternative:

  1. Duplicate the curve, name it "static", and remove the animation from it.
  2. Distribute points on the static curve.
  3. Spawn as many separate points as in the step above (use "Domain Size").
  4. For each point, find its "brother" point in the geometry from step 2 (sample by index); for that point, get its UVMap attribute, which is its position in the UV (texture) space.
  5. Since you want the point to occupy the same UV space in the animated curve, use the wonderful "Sample UV Surface" node to convert this coordinate to the 3D coordinate of the animated curve.

Alternatively "reusing" the points:

$\endgroup$
3
  • $\begingroup$ Thank you very much! Any way to align the instances on points to the animated mesh? I've tried using a "capture attribute" and a "store named attribute" from the animated mesh but none of them is working. $\endgroup$
    – Miguel
    Mar 18 at 20:19
  • $\begingroup$ @Miguel maybe just sample nearest normal to the point? i.imgur.com/XeXQDOr.png $\endgroup$ Mar 18 at 23:15
  • 1
    $\begingroup$ Thank you very much! That worked! $\endgroup$
    – Miguel
    Mar 19 at 17:34

You must log in to answer this question.

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