Devblog
Large scale water interactions

Large scale water interactions

Overview of the ship wave look

I needed to create a separate water interactions solution for the large ship scene. I was not able to make the ship move, so Instead I chose to move the waves under it. I created a simple script that populates the level with as much water I need and then loops it on 10m distance. So that the same water actually goes by all the time over and over again.

The water-grid generated at runtime.

While that is happening, I also needed to create a script that moves the layers in the world space water shader. I am moving both the noise based waves and the interactive water simulations at the same speed as the looping water planes are moving. If I decide to add a puzzle where you need to drop something into the water, I now know that the simulations will play out correctly with the splashes being left behind the ship.

My tools for creating a grid of water elements and moving that grid and also adding movement to the interactive water for example an object is thrown off the ship the resulting splashes will actually appear to be left behind.

The big wave caused by the ship is a separate heightmap texture that is applied on top of all the water wave distortions. This layer has controls for me to move and rotate it freely so that I can perfectly line it up with the ship. The same heightmaps are used to distort the splash particle systems so that the white foam floats on top of the water.

A wave pattern heightmap created in Photoshop.

Even though the ship wave pattern is not animated at all I think that it does it’s job just great!

Small scale interactions.

Leave a Reply