Loading video...

Video Failed to Load

Go Home

#UE5 #gamedev #vfx #techart Continuing with my strand-based simulated foliage experiments... Still some work to do

20,156 views • 2 years ago •via X (Twitter)

11 Comments

Ghislain Girardot's profile picture
Ghislain Girardot2 years ago

backed away from using a skeletal mesh to initially create my custom strand hierarchy because bones come with tons of caveats that can be annoying to work with: no length data, no attachment info etc.

Ghislain Girardot's profile picture
Ghislain Girardot2 years ago

For now, I wrote a tiny python script in Blender to create a simple .csv based file format from a Blender armature.

Ghislain Girardot's profile picture
Ghislain Girardot2 years ago

Csv files can be dragged & dropped into the engine and converted into a datatable if you have a BP/CPP structure matching the csv columns structure. Quite neat.

Ghislain Girardot's profile picture
Ghislain Girardot2 years ago

So I changed the way the strand hierarchy is built to create a much simpler solution but still allow strands to be connected somewhere along parent strands.

Ghislain Girardot's profile picture
Ghislain Girardot2 years ago

Other issue I had was propagating forces, like pulling the top part and having the whole structure bend. Turns out you don't have to walk up & down the hierarchy at all like I initially thought...

Ghislain Girardot's profile picture
Ghislain Girardot2 years ago

... just have to resolve the strand length constraint by half the amount on the strand and by the remaining half on the parent strand, and it just works. The core simulation is PBD-based with substepping.

Ghislain Girardot's profile picture
Ghislain Girardot2 years ago

Last challenge to solve is bend inheritance but I have an idea. Here the whole structure should bend with the root strand and not stand up completly crooked like it currently does.

Ghislain Girardot's profile picture
Ghislain Girardot2 years ago

This is still all done in BP as a proof of concept. Adding interactive mouse push & pull feature was a great idea tho, so fun. Porting the simulation to GPU/Niagara should be quite easily doable & efficient with my current architecture🤔

Nick Seavert's profile picture
Nick Seavert2 years ago

One day I'll get around to toying around with particle based foliage where particles are the skeleton.

Manu (マヌ) | Co-Founder | CTO | Valannia's profile picture
Manu (マヌ) | Co-Founder | CTO | Valannia2 years ago

This is really sweet! I’m also in love with how Alan Wake simulates the vegetation. Can I ask you how you link the data table with the shader? If I understand correctly, your idea is to interpolate the nodes simulation to the vertices of the mesh right?

Ghislain Girardot's profile picture
Ghislain Girardot2 years ago

There's no shader yet, it's all done in BP for now. The idea would be to export each point pos/previous pos into render targets, and encode the strand index in vertex color or something to use the standard skeletal vertex animation texture technique

Related Videos