enter image description here

I want to get a wave effect using geometry nodes and splines, and I did this using a gradient texture and RGB curves. Is there any way I could get random phase, so that they all don't move in perfect sync?

Any help would be appreciated, I could not figure this out. Sorry if it's a simple question.

This is what the goal should look like (taken from erindale's video, but i'm using a different system for a different effect) enter image description here

the result should be able to sway, but they should be at different points in the swaying process, not in perfect sync

Node tree

  • 1
    $\begingroup$ Hello, could you also post your node tree ? Also, when you mean phase, do you mean the growing displacement along the Z axis or a random rotation along the Z axis ? $\endgroup$
    – Gorgious
    Mar 21, 2022 at 10:07
  • $\begingroup$ you should show us a picture or a sketch how you goal should look like. $\endgroup$
    – Chris
    Mar 21, 2022 at 11:45
  • $\begingroup$ It has been updated accordingly $\endgroup$
    – Relevred
    Mar 21, 2022 at 22:09
  • $\begingroup$ You can make them wiggle while swaying by a random rotation of the instances. This breaks the perfect sync => i.stack.imgur.com/YHPud.gif They are still perfect curves without distortion. If you want to displace the curve shapes you have to offset the individual curve points. You have already prepared this (switch node). But I'm not sure what you have exactly in mind. Maybe post the link to the reference video? $\endgroup$
    – Blunder
    Mar 22, 2022 at 13:16

1 Answer 1


You have actually already done most of the work with your nodes.

enter image description here

You would only have to restructure (simplify) a little and reposition the points of the individual curves slightly after the Realize Instances node.

If you feed the node Scene Time into the node Noise Texture, it will give you nice positions depending on the time.

You transform these with Map Range into the range you want.

To make the repositioning dependent on the curve factor, you use the nodes Spline Parameter and feed the node Float Curve for a smooth curve.

You simply scale the previously obtained vector with this value, and use the result as Offset in the node Set Positions.

With it, your blades of grass will wiggle like funny little worms stretching toward the sun.

enter image description here


You must log in to answer this question.

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