Navier-Stokes fluid simulation explained with Godot game engine

(myzopotamia.dev)

7 points | by myzek 11 hours ago ago

4 comments

  • myzek 11 hours ago 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!

    • magicalhippo 8 hours ago ago

      Fluid sims are just so darn fun! Nice writeup, very accessible.

      Couple of notes, I think you forgot to apply timestep when adding rocket exhaust velocity, pretty sure it should be

        u[idx] += backward.x * flame_velocity_amount * falloff * delta
        v[idx] += backward.y * flame_velocity_amount * falloff * delta
      
      You need to compensate by scaling up flame_velocity_amount, I used 85, seemed about the same.
      • myzek 27 minutes ago ago

        Yeah it seems I missed that, adding the rocket at the end was a cherry on the top and I was so exhausted already I'm surprised it even works lol

  • frankdlc222 11 hours ago 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!