Geo Nodes Planes- proper Coordinates for Shader? (Procedural Grass/Flower Cards)

Hi all!

I’m currently working on a Geo Node setup to create a flower bush, consisting of a flower texture card made up of just a plane which is duplicated and rotated based on an inputted Count number.


[I’m using GeoNodes with the eventual goal of being able to randomize various attributes of the plane and image texture translation, so I can then use another GeoNode setup to quickly distribute randomized flower bushes]

However, the moment I Realize Instances (which I’ll eventually need to do when importing into a game engine), it all falls apart-

2023-03-19 17_04_27-Blender_ C__Users_Lyra_Desktop_3d_HallOfEchoes_HallOfEchoes_modelling.blend

I’m humbled to say I’ve spent over an hour trying to figure out the right coordinate system, seeing if the UV Unwrap node does anything, using a premade plane imported via Object Info and so on to see if I could get the bush to texture correctly once realized, but I’ve just not found the right way to do it.


What do I need to do so that the image texture is properly placed on each plane’s face once realized, agnostic of its rotation? Thank you!

Hi!
It’s probably best to unwrap a single plane before duplication (it should be simple in case of single flat object… maybe?). All the duplicates will have the same map. You could probably then scale/offset the map coordinates based on duplicate index :person_shrugging:

If you can unwrap the planes onto a UV map and write it as an attribute, remember that you’ll need to address it by name in Attribute Node in Shader Nodes.

TIP: It would not actually appear in proper UV maps list, until you apply geonodes and convert map attribute to UVmap).

PS. When you Realize Instances all the instances turn into a single mesh and Generated/Object coordinates won’t much sense in this case. I think.

3 Likes

Thank you very much, this method works!