I needed a good looking shallow water effect for my VR game Lantern. The few iterations I tried with the built-in refraction in Unreal materials did not give the ideal visual effect, and the idea of making the already expensive translucent material even more expensive just didn't sit well with me.
I ended up faking the refraction on the ocean bed material itself, using two animating normal maps as flow map to distort the sand texture. I also added a fake caustic effect.
The water surface material is simply a slight modification on the Unreal default ocean. I made it translucent, changed some colors and added a simple fresnel.
The final implementation consists of two planes, one with the translucent ocean material on top, one with the fake refraction ocean bed material on the bottom.
shallow water