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.
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.
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.
Even though the ship wave pattern is not animated at all I think that it does it’s job just great!