In 2012, we created this water simulator based on Alex Vlachos – of Valve Software – 2010 paper: “Water Flow in Portal 2. SIGGRAPH Course on Advances in Real-Time Rendering in 3D Graphics and Games.”

You can explore what we put together using the following controls:

WASD or Arrows Keys: Move around
Mouse: Look around
Left-Mouse: Splat blood into the water

The features we’ve put into this simulator:

  • Vector based water flow, authored inside the Unity Editor, where vector fields can be changed at run time too(at a price).
  • Surface debris that runs on the current.
  • Reflection, refraction and water depth.
  • Flowing water colour that comes in two flavours:
    Constant: continually pump sewage into the water plane, pump clean water into the system from a pipe, water washing through a pile of rubbish can pick up that tasty green hint.
    Dynamic: splat blood on the water surface when that zombie takes a hit, kick up silt as your characters run through shallow water and watch it dissipate.

What we want to do in the future:

  • Rigidbodies float in the water and get caught in the current.
  • Surface splashes
  • Surface foam with density maps

Let us know what you think in the comments or share if you liked the simulator.