GeoTree: Procedural Trees in Geometry Nodes

I can contribute this node group


Its a random number generator using position as a seed input
And allows manual input ontop of it
i have 3 outputs, just the manual seed value the auto value from position and the merged which is the auto position number then adds the manual number ontop(it would auto random seed first then you can use the manual to further change it)

I also have a local space mode


In this example i have the large squares(one mesh just separate faces) spawn in one of the ‘layouts’ (the little squares) then each little square spawns in a cube or sphere.

So what local space dose is so i can move the whole gn object and it won’t cause the layouts and cube/spheres to randomize as its moved, it just randomizes based on its local position.
The main geometry and the spawned object move together so there position relative to each other never change keeping the auto position seed the same. Turn local space off and everything randomizes when its moved as its now based on the position from the world center.

Edit: So for you you can plug these into any seed slots and it will randomize the tree automatically as you move the tree around if not in local mode


I have it used like this in this example the selection nodes one is spawning the layers the other two is the cubes and the spheres. I use vertex groups to tell what can spawn where, like a sort of tag on a mesh that the gn uses to know what spawns what


I have the markers node that deletes any geometry that has a vertex group called makers with a switch to i can hide or show the meshes used to spawn other things. So i can have it just show the final spawned assets easily

An addition


You can plug in a sensitivity value here, the higher the value the more it will randomize from such a small movement. Example a value 0.01 then if you have to move, say the tree a fair amount before its randomized. Good if you want to be able to move a little bit without it randomizing

2 Likes

That’s not a bad idea. You could create an entire scene of individual trees without any work whatsoever.

Make it a standalone module, and I’ll see about squeezing it in somewhere.

Yer ill just clean up this scene and upload it, just so its easier for you

1 Like

One issue i have maybe someone might know of an alternative or some better way to do this


For the layouts, i use the collection that the spawner grabs from as i wanted the little squares as individual objects. So the collection info node is set to layouts and it will grab one the 4 collections inside as if they was a single object

The issue is because i have the collection not at the center, when the layout is spawned its offset
So to counter it in the collection tab i can manually enter an offset, ideally i would do this in GN using math. This isnt an issue if its a object its just a collection used like its an object is the issue

Anyone got any ideas there let me know
Yes i could just put the collections in the center so they dont have this offset at all but i want the ability to have all the assets off to the side out the way as im making whatever, instead if having all layers intersecting each other as there in the same 0,0,0 spot

Edit: Heres the example blend
Spawner Test3.blend (182.3 KB)

1 Like

Spawner Test3.blend (182.4 KB)
Just updated to add an On/Off Switch for the randomizer so its easy to turn it of for different parts



You can see what the node dose easily too

Edit: an issue i just noticed but cant figure out why


These ones in red the layout never changes but it dose on the other squars, the cubes/spheres do change though. Anyone got any ideas there?

I’m gonna bang out the rest of the anime generator before I look at it, but it does look interesting.

It should be a case of importing the random seed generator node and plug into any seen inputs, and you can still plug in a manual number too


You want the merged seed thats both the seed from position and from the manual input but i added all options just because

If you do look at my example though do let me know if you can think why im having the layout issue that i mentored in my last post as an edit

Edit: partly fixed it


Changing the collection node from relative to original made the outer ones work but the center still stays the same

Edit2: But it brakes back if in local mode :confused:

1 Like

Wow. This is probably the most productive I’ve ever been in my entire life!

Introducing Geotrees 0.25! Now with Ghibli Giblets!

Yes, it’s in black and white, cuz that’s my theme for the day.

GeoTreeR_0.25.zip (3.5 MB)

@BlueStar I’m gonna look at your nodes tomorrow, cuz honestly, I am totally burned out at the moment.

14 Likes

Personally, I think the name sounds absolutely offal.

3 Likes

I see what you did there.

1 Like

it takes guts to say that.

3 Likes

I see what you did too.

1 Like

Ghiblets then?

3 Likes

I don’t know english well enough to participate in the pun wagon, but wow you’ve been churning out these trees like there’s no tomorrow. I’ve had to focus on some other stuff but I can’t wait to be back on the subject and catch up with what you’ve been doing. I want to try the giblets

2 Likes

I checked out your node. It’s great, but I’m not sure where I could fit it into my current node setup. To me, it’s something that’d work better in conjunction with, rather a part of.

Don’t feel bad. My brain isn’t wired for puns either. No matter how hard I try, I can only ever seem to come up with “elephant.”

2 Likes

You know what you get when you cross an elephant with a rhino…?

1 Like

Hell, I dunno!

…bet you’re wondering if you need to explain the joke or not now. :stuck_out_tongue:

1 Like

You only need the random number generator not the whole thing, the blue group node

You plug it into any seed values, which you can still plug in a manually entered value also

This node group allows the trees to auto randomize by itself based on the trees location in the viewport
If you have local mod off, you also have a on/off for random node you can hook up so you can have an easy on off switch

1 Like

Looks like I’ll need to add an entry to my axis nodes to account for instance indices.

I might be able to fit this in somehow. Set an option for it to randomize by position.

1 Like