¿Qué tal simplemente no permitir esta situación?
No sé cómo estás haciendo tu juego, pero si detectas que la vista estará parcialmente bajo el agua, puedes forzar a la cámara a estar sobre el agua, y solo cuando toda la vista esté debajo del agua, puedes cambiar a vista submarina
Dependiendo de cómo lo haga, esto podría significar que hay un retraso adicional desde el momento en que comienza a bucear y cuando realmente ve la escena desde debajo de la superficie. Esto puede ser algo bueno desde una perspectiva UX, así que siéntete libre de experimentar.
En una nota separada pero relacionada, me pregunto por qué la mayoría de las escenas submarinas se vuelven cristalinas ... Si alguna vez sumerges la cabeza bajo el agua, notarás que tus ojos no están diseñados para la vista submarina y, por lo tanto, todo parece borroso. Tendría que usar gafas para ver claramente bajo el agua.
Y además, las cosas se ven (y oyen) muy diferentes bajo el agua que sobre el agua. El agua absorbe la luz mucho más rápido que el aire, por lo que cuanto más se aleja la luz, menos luz llegará a sus ojos. Esto significa que cuanto más profundizas, más azules se ven las cosas (la luz roja tiene menos energía y, por lo tanto, se absorbe más fácilmente que la luz azul). De hecho, a solo 12 metros bajo el agua, la sangre se ve negra, no roja.
Todavía no he visto un juego no especializado que incluso intente conseguir entornos subacuáticos correctamente ...