Video yükleniyor...
Video Yüklenemedi
Tree generator - WebGPU * reworked skinning to be more physically accurate * added stubs and knots * added roots * minor improvements to branch and leaf placement - better adherence to tree biomechanics And yes, the tree is rigged and skinned and the animation is 100% procedural from... show more
11,757 görüntüleme • 15 gün önce •via X (Twitter)
41 Yorum

make it speedtree !

Ha, speed tree is an inspiration. Speed tree has a lot more of an artistic angle, I wanted a tool that requires as little configuration by hand as possible, just biomechanics and physics as much as possible.

I remember doing this a while back, but I sort of forgot exactly how. How did you solve it? I sorta remember hardcopies a trunk and procedurally generating the branches and leaves. But also, outputting the model + just a texture for LOD. No idea how you managed to do skinning though, nice!

As the core of it it's tubes and a lot of deformation. The previous version was hierarchical: trunk -> branches -> leaves. The current version abstracts it into a directed graph (acyclic), I believe SpeedTree does the same

Oh damn, that's smart af. So every segment would be a part of the dag, so that it can't be present in 2 places at once. That's huge, didn't even know about that. Awesome stuff as usual

Thanks!

Does foliage rig weight alter secondary motion per branch, or only the leaves’ response to the wind field?

The entire thing, leaves are just vertices, and bones encode stiffness, so branches bend under wind sim just as well as leaves

Is stiffness assigned per bone segment, or derived from the branch geometry?

A bit of both, the tree is generated with volume as one of the tracked parameters, so we're able to both place bones and derive their stiffness from how long and thick branches are and what kind of wood they're made of

Wood species matters here. Branch radius alone would be a very optimistic material model.

Yep, even moisture content matters in real world

Moisture content changing the stiffness makes the procedural model a lot less toy-like. Wood gets to be inconvenient even in WebGPU.

Hey man, I'm just happy to see so many people excited about my wood

SpeedTree 3-7 SDK source code is well leaked you know? Use those, also modeler/CAD, those usually lack exporter and closed source but good to check

Thanks for the tip, but I don't think I will. I know it's a brand new world, but I prefer to stay on the safe side of copyright law😅

No one said to copy code, but the idea on other hand can be interpreted differently or make new conclusions for you

Did you make it with opus 5.5?

Yes, and used a bit of Gemini 4 (Argon) while working on this too

Can you use it in Godot ?

Not really, you could generate the trees and export them, I guess. But the generator is deeply integrated with my own engine:

A bonsai simulator when you can cut it grows branches get bigger etc would be amayzing

Sounds really cool, I'm keeping the generator off-line purposed, but a game like that does sound really meditative

Trees are very difficult to do. This looks excellent!

Thanks! This was the motivation actually, trees are hard, and I wanted to make them effortless in my engine

the wind is the part everybody fakes

Yep. I reeeealy wanted it to be an actual fluid sim

what's standing in for the fluid sim

this is the SOTA of physically realistic tree

I'd like to think so I'm sure there are nuances I missed and I'm building on top of decades of research. Wonderful time to be doing this kind of work!

AMAZING work dude! Congratulations!

Thank you!

generated procedurally off the real-time fluid sim is wild, the branches look like they are actually fighting the air

Cheers!

Can this do large willows?

Yep! Will make a demo a bit later with grown configuration exposed

How did u do automated rigging?

It's embarrassingly easy when you grow the tree yourself! The tree limbs have to follow some path, and we can place bones along the same paths, as far as skinning goes - it's a similar story

Great approach

Why does this tree have no neighbors?

it's a NIMBY tree
