Geometry Nodes- Provide Group Input Attributes to Geometry Instance?

Hello-

I have a geometry node setup for my object FlowerBushSource that generates a random bush made up of a few rotated planes.

To generate a unique bush, various aspects of those planes are randomized by some values I can set with its Group Input attributes.

2023-03-19 20_03_49-Blender_ C__Users_Lyra_Desktop_3d_HallOfEchoes_HallOfEchoes_modelling.blend

However, I’m now working on a new Geometry Node object called FlowerDistribution that distributes points on a plane for Instances of FlowerBushSources.

Is there a way I can randomize the values of the Group Input attributes for each individual FlowerBushSource instance from within FlowerDistribution’s Geometry Nodes?

No, not really at the moment. For this, you need loops, which are in development. There is a hackish workaround, called the buffer hack (here’s my implmentation), but if you’re new to GN, I don’t reccommend it, as it can crash Blender if you adjust the wrong setting.

One way to go around this would be to add several FlowerBushSource groups with varying settings to your FlowerDistribution nodetree, use “Geometry to Instance” on each of them individually, and then “Join Geometry” them together before passing them to “Instance on Points”. If you go this route, be warned that you need to turn on “Pick Instance” on the “Instance on Points” and that you will have a limited number of bush varieties. This is fine for many things, such as crushed rock, but some things, such as trees, can start to look repetitive. You’ll have to make the call in your case. Often, randomizing rotation and to a more limited extent, scale, will help the bushes to not look as uniform.

That’s unfortunate.

Yeah, there is the workaround of pre-making some randomized bushes.

I think I will instead take the approach of doing everything in one GeoNode modifier (both making and distributing the bushes), where the attributes of each bush will still be available to me.