GeoTree: Procedural Trees in Geometry Nodes

Hi man, any luck? I don’t think this is possible in Blender.

@pitibonom

I just create my own rotation vectors from scratch based on world orientation.
Tuning X rotation so that it leans a little bit down
randomising on z over 360°
randomizing a little bit the other axes.
randomizing a little bit the scale.

Distributing it on a world noise deformed potatoe (modifier method), so each time you duplicate or move it, the main shape change…

Folliage_generator.blend (1.2 MB)

the textures are not included.

2 Likes

Thanks for those details @skuax ! :smiley:

This is really amazing !

Happy blending !

I’m still fairly sure it can be done, but I haven’t had the time to look at it over the last couple.

1 Like

I don’t believe so. Geometry nodes can only modify the geometry of a single object, so it doesn’t deal with parenting or object origin manipulation stuff.

You could probably set the sway from within the nodetree itself, I’m thinking. When you get right down to it, all you’d be doing is rotating the various instances ±X degrees at Y time.

edit: or here’s an idea. Is there a way you can use splines as paths to procedurally place bones?

edit 2: There might be something to this. It won’t be entirely generated inside the geonodes, but it looks like you can expose the underlying splines, then convert them to bones using the skin modifier. From there, making it animate should be fairly easy.

…in theory, anyway. I know almost nothing about animating. I’ll try it out tomorrow.

1 Like

I think its better not to worry about parenting which pivot painter requires. I think using pivot painter might be problematic especially with Blender. Thanks for trying to consider adding parenting support. I should have experimented with the pivot painter properly before mentioning it. My apologies.

I think maybe having a way to generate realistic wind animation using bones like you are doing for the trees would be better. I tried the pivot painter and exported to ue5, there were some issues with the addon from that vid.

Maybe skeletal or vertex animation of the trees for wind animation which can always be exported to unreal engine or any other game engine. Vertex animated textures can also be used as well :slightly_smiling_face:

2 Likes

Found this: https://twitter.com/paulopatez/status/1516176648965656587?s=20&t=GeHoXxSoTnuU78zsG2bHFw

I wonder how he is animating the tree wind movement with geometry nodes. Is he using armature?

Probably. At first, I thought it was just vertex animations on the leaves, but then I noticed that the branches were bouncing as well. Given the way it’s moving, I’m guessing there’s a skeleton underneath it.

I did open up the trees with the intention of working on just this today, but then I got sidetracked experimenting with normal shading and leaf colors. I’ll do it eventually, I swear. :stuck_out_tongue:

2 Likes

No worries, man. Whenever it is fine :slightly_smiling_face: No pressure.

Thanks again, man :pray: Appreciate everything you are doing for procedural trees using geometry nodes in blender.

1 Like

Question is, have you made anything with it yet? If you have, post it here.

6b647551fdb6784b1ff2736e041a68bdfdb95b2e

Still experimenting. I used premade branches. I am still trying to figure out the wind animation part.

2 Likes

Have you guys tried Treeit?

I am very surprised how tailored it is for foliage for game engines. Kinda like SpeedTree and its free. :slightly_smiling_face:

1 Like

Looks interesting even though it has been around since 2012 and some of the code is from 2008…But while looking I found a reference to GPU-Generated Procedural Wind Animations…from the free online CD…look like it is made for Geometry nodes with some ( heavy) tweaking

2 Likes

Skeleton tree.

Yeah, I tried it out here a few years back. It was pretty decent at making quick, dirty trees.

2 Likes

Yeah, and it seems to be updated regularly. Last update was 31st october of this year.

Looking good, man. Awesome :+1:. I am wondering if you can bake the animation to the timeline so it doesn’t have to compute from the geo nodes if you need to render out animation. I am not sure if that would crank up render time if you are using cycles or eevee with animation directly from geo nodes :slightly_smiling_face: .

6b647551fdb6784b1ff2736e041a68bdfdb95b2e
Seems the devs have made a lot of improvements to it. I just made this in a few minutes. There are examples that come with the install which you can study how it can be used to make different types of trees. I am not sure how to use the Atlas texture window though. You can compile the textures into an atlas. Still experimenting :slightly_smiling_face:

3 Likes

Okay, well I’ve got my simplified armature attached to my tree, and it gave me something that has 400 bones in it.

…is that a lot of bones?

400 bones for a tree ?
hmmm IMO there are 400 useless bones.
Trees have no bones…
:stuck_out_tongue:

Happy blending !

1 Like

Sticks and bones are about the same thing if you wanna get real technical about it. Sticks just don’t have any skin on 'em.

400 bones. I don’t think its that bad. If the animation can be baked to alembic or vertex animation. For game engines, pivot painter, world position offset and in some case vertex animated textures is used to fake wind animation because using bones would be too expensive.

I tried an addon for baking vertex animation in Blender here:

It has a limit of 8192 vertices. So I would have to ensure my tree meshes have a limit of 8192 vertices which isn’t necessarily bad tbh. The branch could be one mesh and the leaves could be another when baking to vertex animation.

Also ue5 has a animation to texture plugin, haven’t tried it, maybe it as a higher limit. :slightly_smiling_face:

I am thinking maybe I should just use simple vertex paint and use wpo, and make the tree wind animation less obvious and not worry too much about realistic wind. :slightly_smiling_face: