Navier-Stokes fluid simulation explained with Godot game engine

myzopotamia.dev

128 points by myzek 4 days ago


nlawalker - 3 hours ago

If you haven't tried Animal Well, give it a shot. The whole game and its custom engine are like 35MB and it's filled with really cool visuals and physics powered by fluid equations.

https://store.steampowered.com/app/813230/ANIMAL_WELL/

myzek - 4 days ago

So once upon a time I stumbled upon simulating fluids in gamedev and I really wanted to learn how it works. Fast forward 2 months and I decided to write down everything I learned to hopefully make it easier for others in the future!

genxy - 3 hours ago

The unlinked Jos Stam paper is available from his website https://www.dgp.toronto.edu/public_user/stam/reality/Researc...

Stevvo - 4 hours ago

For anyone wanting to dive further, Fluid Simulation for Computer Graphics by Robert Bridson is the definitive textbook.

markstock - 2 hours ago

Before you go adding vorticity confinement, consider performing a higher-order backward advection scheme (Runge-Kutta 2nd or similar), and using a higher-order interpolation method (triangle-shaped cloud instead of bilinear).

In my implementations I use 4th order for both and vortices stick around a lot longer.

amarant - 3 hours ago

This is great! When I have some leftover time I want to try copying this implementation for 3D. I reckon I could get away with minimal modifications to support the third axis...I think...

That'll perform even worse though, hopefully my CPU can handle it or I'm gonna need a lot of leftover time to make a shader

jedimastert - an hour ago

I appreciate the AI disclosure, I hope that becomes normalized

frankdlc222 - 4 days ago

This is really cool. I love how much detail you went into explaining the setup and walking through each piece of the simulation. Definitely bookmarking this to play around with later!

amelius - 4 hours ago

Did they test if it satisfies the relevant conservation laws?

nryoo - 5 hours ago

[flagged]

analog8374 - 4 hours ago

Oh don't let us pinch zoom. That would be a disaster.