Materials

For this project, I bought the Amplify Shader Editor to be able to create my own shaders in Unity and this has since completely revolutionized my workflow. In this project, I’m using custom shaders for almost every model. For the water shader, I looked at Amplify sample water shader that’s included in the editor. They had controls for depth blending between two colors, a texture close to the edge of objects with a smoothness control which was the foam and also a very performance friendly way of handling the reflections by grabbing reflection data from a reflection probe.

The water still had this hard edge towards whatever it touched, and it was to calm, the only movement that was in it came from the panning of normal maps in the shader.

So set out to fix these issues in the shader. The first one was quite simple since Amplify has a node called “Depth Fade”, by putting that data into the opacity channel I made the water get transparent at low depth, and with a distance value I could control how much transparency I wanted.