GeoTree: Procedural Trees in Geometry Nodes

Oh I forgot. I didn’t specify this:

-Instances_scatter is the base mesh on which everything is going to be instantiated, I chose to make this step manual and that you have control over where you want the instances so there are only vertices there, you can go into edit mode and extrude the points to create more instances, the rest is automated.

1 Like

Wow… they are lovely!

Also it is pretty impressive how responsive this is adding more instances.

3 Likes

I think part of it is because of the shadows. I limited the distance of the shadows in the sunlight, they are at 50 m, so the rest does not have shadows and that saves computing resources.

The other is that after instantiating and animating the leaves I realized the instances and then instantiated that in the scene, which surprisingly lightened the drawing time in the viewport (if I didn’t do that the viewport had a lot of lag).

2 Likes

Oh, also because the leaf shadows actually use opaque alpha and not hashed alpha, so there are no detailed shadow calculations of the leaf image(but with better performance), but that actually adds to the stylization of the tree.

1 Like

I happily went up to 100 trees, I think the baking nodes also help a lot.

Oh and in cycles beautiful;

4 Likes

:star_struck: Wait, stylized normals work in cycles?

2 Likes

Anything goes!

2 Likes

In cycles the translucency is noticeably stronger :thinking:.

I tried eeve next and it surprisingly obtains something similar, a little darker and noisier, but it calculates the translucency well.

Legacy Eevee doesn’t do it but it works for me for the stylized look.

Time is another thing that worries me. The render time is almost doubled only with 32 samples in next and it is still noisy, in addition to having a kind of grain filter over the entire image that does not go away even with high samples.

3 Likes

Yes, in my tests of Eevee next there is a performance loss (not to mention sometimes double compilation time).

I hope that the performance is a transitory thing as for me the main advantage of Eevee was performance (vrs realism/quality).

The translucency does look a lot stronger in cycles, I guess that ray-tracing in Eevee next is bringing it closer.

It does seem like a bridge between Eevee and Cycles in some aspects.
It could be a good thing for those who want Eevee to be closer to Cycles but I am not sure that for stylized looks that is such a good thing. The introduction of noise in Eevee next renders is also debatable.

I could go on but maybe it should be in the Eevee next thread.

Lovely trees! …and yes the leaves do wriggle!

2 Likes

New GeoTrees user here; having a blast with the tool.

For forks, I’m having trouble getting my setup right. The manual says they need their own ‘Branch’ node, and I’m not sure how to feed both of these into ‘Leaves’ or my ‘Separate Components’ node that ‘Leaves’ outputs to.

For animating the trees, I dug through big swaths of this thread, and have my leaves fluttering, but haven’t figured out how to make the branches and trunk sway without making the leaves recalculate their instanced positions. @DNorman I think I’m missing something obvious, but would you be able to take a look?

I can’t post my project as a new user, but here’s a screenshot of my node setup:

2 Likes

If you still have it lying around, look back to the default tree setup. You need to combine both lines together using some Join Geometry nodes, like so:

2 Likes

I think you are right, if you sway the branches the leaves will also recalculate their positions as they spawn from the last branches (twigs).

2 Likes

Thanks, @Renzatic! I knew I was missing a step.

@DNorman for the animation, could I bake the leaf positions so they stick to the branches without recalculating? I want to get creative with a solution but lack the know-how.

1 Like

Hmmm not sure, Joel_RVC has done baking, I have not tried, but it might fix the positions of the leaves and detach them from the twigs. I am not sure.

1 Like

Also, a side note, it has been a while since I opened the latest version.

For the forks to look like a fork and not a branch that juts out you need to expose the second point of the trunk in the trunk node (or edit it inside the node group), so that you can shift the trunk where the split is.

You can just add a group input for that point;

I named it spline extended base position out of lack of inspiration for a better name!

3 Likes

Hello, I’m the creator of those GeoNodes. I’m currently resuming the project to create an add-on, and I’ve returned here to implement a procedural generation module similar to yours, to bring both worlds together. We can share experiences.

12 Likes

@DNorman @Renzatic @Charles_Weaver is this project still active? we’d like to use it at work, and if it is active, I could almost certainly leverage some kind of enterprise licensing that would give you three a tangible, although modest, financial benefit for doing this

It’s still active in the sense that I do intend to return to it at some point, but I’ve been too busy with other things to commit any real time to it recently.

As for financial compensation, I dunno about everyone else, I’m pretty alright with the model as is. It’s everyone’s to use and edit as they see fit. The only thing I’d ask is that if you make any improvements, send them back here, and I’ll add them to the main project with credits.

8 Likes

Yeah, I’d be up for some collaboration. I’ll hit you up tomorrow, when I have more time.

I can tell just from the screenshot that you have better leaf propagation than I do.

1 Like

Hello, it would be a pleasure to collaborate. I could share some of my solutions. The leaves, well, they are very low-poly clusters.

5 Likes