Contenu du renducontact(at)guillaumelevieux.com :: « Home

Sébastien Violier

Programmeur Enjmin



Jeu disponible sur Itch : https://lutwidge.itch.io/water
Vidéo HD disponible sur Youtube : https://www.youtube.com/watch?v=ZYNui6wyqas

J'ai voulu créer un jeu narratif court autour d'un shader d'eau et d'un système de flottaison que j'avais réalisés pendant l’atelier. Le jeu utilise également des lumières volumétriques, provenant du plug-in gratuit Aura.
Concernant le shader d’eau :
• Il s’agit d’un surface shader
• La déformation de vertex est contrôlable et permet de déformer les vertex selon un sinus ou le modèle de Gerstner, plus complexe mais donnant des résultats plus réalistes. C’est cette seconde solution qui est utilisée pour les vagues du jeu.
• Il en existe deux versions : une transparente et une opaque. La transparente applique un brouillard et de la réfraction, pour donner un aspect réaliste lorsque l’on regarde un objet au travers. Par contre, il subsiste quelques problèmes dans les interactions avec les lumières volumétriques. Pour cela, une version opaque est aussi utilisée dans les moments où la lumière volumétrique est présente.

Le modèle de flottaison est basé sur l’approche détaillée dans l’article suivant : http://www.gamasutra.com/view/news/237528/Water_interaction_model_for_boats_in_video_games.php. Pour résumer, la force de flottaison est appliquée aux vertex en-dessous du niveau de l’eau. Ceux qui sont à cheval entre l’eau et l’air sont découpés, et la force est appliquée seulement à la partie sous l’eau.

Mes autres réalisations sont :
• Gestion d’effets post-process et audio (blur, filtre passe-bas) pour les passages sous l’eau
• Des modifications du RigidbodyFirstPersonController d’Unity pour l’adapter à la physique de l’eau
• Changement de skybox et modification des réflexions en temps réel avec les reflection probes