So I’m trying to make a random house decorator right? I build the house models but then I want to instance onto certain points furniture that’ll be random every time! So when you look into a window there’s a different cabinet different photo on the wall different lamp etc! Now I’ve as you can see from the photos below made it so I can change from cabinet to cabinet in the same geometry node tree whats inside, however I’d like to make it so that it automatically changes seed as I copy/paste new cabinets with the same geo tree.
I’ve done some research, tried the object id → object info location etc, I tried random going into the seed it says it can’t take more than “one value”, I tried a couple solutions, now technically I could just change the seed id every time I copy but I wanna learn yknow? Is it possible, I’m using a collection info btw.
Perhaps try this:
This relies the assumptions that you’re not going to want to have two different objects occupying the same space, and that the objects are going to stay still.
The random seed, therefore, comes from the object’s position (rounded to the nearest 0.001, for a little bit of stability, for caution’s sake.) That vector is plugged into a white noise texture, which takes a vector as an input and outputs a random value from 0-1.
That random value can then be converted into an integer (multiplying and rounding it,) and that integer can then be used as you please, including (somewhat redundantly) as an ID for a random-value node.
Random per object from location - Geometry Nodes - 4.3 - 2025-11-27.blend (142.6 KB)
Thank you so much for your help, this was exactly what I needed pretty much because these cabinets in houses will not move, I do have some questions so I may better understand it myself and learn from this exchange if you don’t mind me asking.
So of course the self object makes it so that the location of this SPECIFIC instance is the defining factor, but why are we multiplying by such a high number?
White noise I believe due to the colors of it being either black or white is 1 or 0, the snap snaps it to the 1 or 0 of the noise texture, which then for some reason gets multiplied by that number, then rounded to a solid integer and then of course placed between the value of 3 and 16.
The rest was intuitive to what I already know, and I was able to place them in a vertex group labeled in the cabinets for storing the items, thank you so much for your help, it means a lot!
The white noise texture isn’t actually just black or white, but is a random float value between 0 and 1 (I think inclusive, but the odds of seeing either are really unlikely.)
The reason I multiplied that random [0,1] number by 1048576 (= 2^20) is because you might want lots of objects and (I presume) you’ll want to minimize the chances that their seeds collide, so that they’re suitably random. If white noise really did just give you 0 or 1, you’d have only two available variants, which is probably less than what you want.
Now, you could maybe go higher: if we had had a native integer seed, the range would be from [-2^31,2^31-1], I think, and that would give you another factor of 4096 more possible variants.
But this integer was used as a seed, not the random value itself, so it could be reused: I plugged it into the ID socket of the random-integer node as seen above: you could do it again with more random-value nodes, with different seed values for each, and get a lot more random parameters arising based on a single seed. That’s how you can end up with a lot of variation from a single seed.



