I would like to add a wave modifer to my object that has scatterd instances. however when the wave modifer is active the instances change postion via blinking in and out. How can i prevent this?
-
$\begingroup$ Hi, robin. I can reproduce this. The minimal case is: with the Wave modifier above the GN modifier, and no random rotation/scale, with simple instanced Mesh Primitives . Maybe better to present this case, to help focus on the central problem. (If you don't mind your instances being deformed by the Wave, you can realize them, and put the Wave below the GN. That's a fix) $\endgroup$– Robin Betts ♦Dec 5, 2022 at 17:45
1 Answer
They blink in and out because the Wave
modifier is changing the position and orientation of the surface the point distribution is happening on—as the surface moves, points get distributed all over again and they don't always fall on the same exact positions. In the setup below, I'm using two Geometry Nodes, placed before and after the Wave modifier, to work around this problem.
- First GN setup distributes points on the surface and stores them as a selection for later use, with a
Store Named Attribute
—Boolean node. You can name them anything, I used dots. - Subsequent modifiers on an object that manipulate geometry cannot read unrealized data (like points or instances) and can only work on mesh, so I'm also converting them to vertices to make sure they move with the waves.
- In the second GN modifier, after the Wave distortion has already happened, I place my instances (in your case, leaves) on the vertices I had saved before, using a
Named Attribute
.
-
1