This is my water!
Add the ability to adjust the foam, Scum, and Ripples at the edges of the water.
Using a Distance to Nearest Surface to detect objects overlapping or in contact with the material.
To get the color and transparency, added to color parameters to a single layer of water material with each one focusing on a different layer of the water effect.
First, I went into Substance Painter and created a normal map for the waves using a fabric texture and adjusting the contrast. Using the texture coordinate nodes and having them multiplied by Parameters, they helps adjust the size. The addition of the flattened normal node allows me to adjust the size of the waves. Attached to the same Texture Coordinate nodes are the height map textures which are used for the World Position Offset.
I used a texture coordinate node multiplied by a parameter to adjust the size and a Panner to shift both the foam and scum textures. I used the one minus node to make the foam appear without a reflection. And at the end I added reroutes to remove clutter. I also added a reroute for between the Panner and Scum texture so that I can plug it into the normal map.
Using the Reroute nodes and lerps with scalar parameters to adjust the opacity of the textures, I then plugged the foam into the roughness and the scum into the opacity, as well as plugging a scum reroute with 2 color parameters into a lerp to give color.
Inside a material function I used a Distance to Nearest Surface node along with a time connected to a sine to creating the rippling effect and a parameter to adjust the size. I then brought the material function into the main water material which would then get plugged into the Refraction input.
Show a video of the final tool in action
Add links to the resources you utilized
Link to Material Video Submission: https://drive.google.com/file/d/1iElcr8JxohGJBoPoHOE9LjfbGM0RRc_F/view?usp=drive_link
Link to Material Instance Demo Submission: https://drive.google.com/file/d/1iElcr8JxohGJBoPoHOE9LjfbGM0RRc_F/view?usp=drive_link
Add link to your Unreal project here