These images and videos are from an unreleased project that I had the pleasure of being Environment Art Lead for. They represent a tool made to generate water planes that react to players. The project required a reactive water solution that would support multiple characters and work with multi-story levels where water planes might be stacked on top of each other. Traditional techniques call for using a render target centered on the player that captures an invisible particle effect and then projects it to the water material. The limitation of this technique is that it will create undesirable artifacts when water planes are stacked vertically on different levels.
Instead I developed a new workflow by feeding player position to a local niagara system per water plane. The niagara system transforms the player position to a local 2D grid simulation as a texture and then projects that to a render target specifically for that water plain. This allows each water surface to individually handle its own simulation. Other benefits of this workflow included the ability to apply simple advection techniques within the niagara system to make the ripples and wakes reactive to future movements by the player.
To manage performance for different platforms the render targets resolution for each water plain are calculated based on their overall size and further modified per platform. Systems far enough away from the player are put to sleep and the material effect faded by distance to avoid popping.
The water tool also supports a spline based system for generating the underlying mesh to allow for flexible placement and avoid custom meshes being generated from external DCC apps.