How can I get a new random seed for every object using the same geometry nodes? I'm making a small medieval city using geometry nodes in Blender 2.93, where each building is a separated object, but they all share the same modifier list (and the same geometry nodes). I added some randomness to the height of the buildings by using Random float node.
How to setup up the seed of the random float node, so that every object has unique seed, even though they all share the same geometry nodes?
I was thinking about using objects unique position, but I don't know how to get that value within geometry nodes.
I could expose the seed in the modifier stack as an input variable and add a driver to it that generates a random number (round(noise.random()*1000)), but it seems that it generates a random number every time a render is made, essentially changing the whole city between two shots.
Anybody has better solution?
The geo-node-network containing the random height functionality is executed only once per instance. So if you're instantiating the buildings from a single object mesh or collection instance it will be all based on the same random value.
I had a simular issue and solved it by creating a collection of instances and letting the point instantiate node pick random items from that list. I used the location of the instance to select a height value, but you can also use it as a seed value.

To get the position of the object within the associated geo-node-network:

Add an empty object at the world origin
Add an Object Info node to your network
Set the offset toggle to Relative
Add a Vector Math node and multiply the location by -1,-1,-1