How to make water back surface material?

Hi, I am trying to learn and create water material, currently the water surface looks acceptable by using Planar Reflection and Surface Translucency Volume lighting mode, but still cannot figure out how to make the back surface.

So far it has reflection, refraction and distortion:

But it looks so wrong when going under water:

The back surface has distortion only. There is a post process volume that does under water fog using “Scene Depth” node, the problem is depth doesn’t work for translucent objects(if it reads the depth, it will be the object behind it, the sky for example), so there is a clear border between the back surface and post process, the colors do not match.

The back surface cannot use “Scene Depth” or “Scene Texture” nodes, only post process material can.

The following approaches have been tried, but not working:

  1. Remove back surface and enable “Two Sided” for front surface: Because front surface enabled “Planar Reflections”, but there is no light on the back side, so it looks black.
  2. For Blend Mode, use “Additive” instead of “Translucent”: Still couldn’t read the depth information, Additive is kind of translucent as well.
  3. Custom depth: Don’t really think it should be used here.

Water in games like Ark, Subnautica, Horizon Forbidden West made the back surface amazingly, don’t know what techniques made it so good(no big contrast between back surface color and post process color):

And how to make this round blue transition(Subnautica)? I tried a combination of depth and Fresnel but did not look right.

Would be glad if anyone could provide some assistance.

For the round blue transition, I tried a combination of Fresnel and camera location Z blend to control the opacity. When camera is close enough to shallow water, the ring will fade in. Not sure how to improve, still no wave pattern and specular light, only distortion.

I used a combination of depth fade and location Z blend for the underwater post process, still looks mediocre, the back surface looks transparent with some tint and only has distortion, no specular light of the waves at all. Using “SphereReflectionCapture” cannot fix the issue.