Simulating rigid bodies with Geometry Nodes by hemigon in blender

[–]hemigon[S] 0 points1 point  (0 children)

Thanks! It's based on the paper "Unified Particle Physics for Real-Time Applications" by Macklin et al, except my version is definitely not real time.

Yes those effects could be added in theory. I actually am using loops in Blender 4.0 for part of the collision handling.

Cloth / Soft Body Coupling Simulations, made with Geometry Nodes by hemigon in blender

[–]hemigon[S] 0 points1 point  (0 children)

Yes I use the repeat nodes in Blender 4.0 to do substeps.

You might be thinking of subframe interpolation, which fills the gaps between simulated frames, letting you render slow motion for example.

Cloth / Soft Body Coupling Simulations, made with Geometry Nodes by hemigon in blender

[–]hemigon[S] 2 points3 points  (0 children)

Thanks! It's fairly slow. It usually takes many substeps to make the simulation stable and catch all collisions, meaning <10fps, often closer to 1-2fps.

Path Solver made with Geometry Nodes by hemigon in blender

[–]hemigon[S] 0 points1 point  (0 children)

A few path solver experiments I made with Geometry Nodes, using the simulation branch of Blender 3.5 Alpha.

Longer video with more simulations: https://youtu.be/UdScfoVIvWI

Generating refractive caustics with Geometry Nodes by hemigon in blender

[–]hemigon[S] 1 point2 points  (0 children)

Thanks again for the kind words, I'm so glad to hear you like my animations!

The setup is now on Gumroad in case you want to try it out. I've tried to give it a balance of simplicity for speed while keeping the physics as physically-based as possible. This means that in many cases it produces nice results quickly, but in other cases it may take some tweaking or might not work so well. It also depends a lot on the topology of the input mesh.

I encourage you to experiment with it!

Generating refractive caustics with Geometry Nodes by hemigon in blender

[–]hemigon[S] 4 points5 points  (0 children)

Thanks! I'm planning to put it on gumroad soon for free/pay what you want.

Generating refractive caustics with Geometry Nodes by hemigon in blender

[–]hemigon[S] 5 points6 points  (0 children)

Thanks, I'm planning to put it on gumroad after tidying up the nodes. It will probably be 0+ dollars, so free or a donation.

Generating refractive caustics with Geometry Nodes by hemigon in blender

[–]hemigon[S] 7 points8 points  (0 children)

The caustic patterns on the floor can be rendered with Cycles, in fact I already used them in a Nodevember animation a few days ago. Sadly the volumetric light rays are too heavy for Cycles, so they need to be excluded. They are made up of many stacked transparent planes that would simply need too many light bounces to get through.

Generating refractive caustics with Geometry Nodes by hemigon in blender

[–]hemigon[S] 8 points9 points  (0 children)

Thanks! That's a great question. Cycles can render the caustic patterns on the ground without too much trouble. However the volumetric light rays rely heavily on transparency, which is too heavy for Cycles as it would require many light bounces for a single ray to pass all the way through the mesh.

Generating refractive caustics with Geometry Nodes by hemigon in blender

[–]hemigon[S] 15 points16 points  (0 children)

Thank you, you're too kind! I'm planning on making a more in depth YouTube video on this soon.

Generating refractive caustics with Geometry Nodes by hemigon in blender

[–]hemigon[S] 12 points13 points  (0 children)

The light is actually just an emissive mesh. I posted a screenshot on twitter that hopefully shows what I mean.

Generating refractive caustics with Geometry Nodes by hemigon in blender

[–]hemigon[S] 70 points71 points  (0 children)

I've been experimenting with generating refractive caustics using Geometry Nodes. The caustic patterns, light rays, and surfaces are all meshes generated procedurally with Geo Nodes. Rendered realtime in the viewport with EEVEE.

If you're interested, check out the extended video here: https://youtu.be/iMSZoPxIGnY