There is not much you are going to do by modifying opaque objects. You would just be making them not opaque anymore so it would be pointless. You could use a masked material on everything which is cheaper than translucent as long as the mask is mostly opaque. It will make the overall scene a bit more expensive though.
What I would probably do instead is use a vertex shader trick to make the character render on top of things. The downside is that it will affect the dynamic shadow casting so you may need to have a hidden copy of the player set to “cast hidden shadow” so that the shadow stays correct.
This trick is to simply get the distance from the player to the camera and then multiply that down a tad (or clamp to prevent pulling verts into the clip plane), and then multiply that by CameraVector and add the result into worldposition offset. You can make a scalar to control how far the offset is.
Note that it won’t let you use CameraVector in the vertex shader but it can be computed as simply normalize(worldposition - cameraposition). I might have that backwards, so try multiplying everything by -1 if it doesn’t seem to be working.