L'eau presque réelle de Sea of Thieves

Une exception !?

Si le monde du jeu-vidéo s’est mis d’accord pour dire que l’eau est impossible à bien simuler, un jeu est arrivé pour prouver l’inverse et ce jeu est Sea of Thieves.

Comment ont-ils fait ?

Rare en développant Sea of Thieves a réussi à créer une eau parfaite, générée en temps réel sur des ordinateurs et consoles basiques. Pour cela, ils se sont basé non pas sur les équations de Navier-Stokes mais sur la Transformation de Fourier qui ne traduit pas le fonctionnement de la physique de l’eau mais celui du son.


Comment l’océan de Sea of Thieves fonctionne-t-il ?

Dans Sea of Thieves, l’océan est une addition d’une multitude de fréquences sonores sur lesquelles ont été ajoutée une texture d’eau. Grâce à cette technique pour simuler un océan déchaîné il suffit d’augmenter l’amplitude des ondes, les grandes vagues deviennent immenses et les plus petites deviennent grandes.
Pour les interactions avec l’océan on ajoute juste des ondes. Un bateau, un joueur et un boulet de canon… trois ondes de plus.
Comme c’est la surface qui change on ne touche jamais ni aux textures ni aux shaders et on peut donc ajouter de la houle selon la taille des vagues que l’on connaît grâce à la Transformation de Fourier et ajouter du Subsurface Scattering qui permet de rendre le haut des plus grandes vagues plus transparent.

Une différence impressionnante.

Avec cette technique Sea of Thieves a montré qu’il est possible de simuler de l’eau extrêmement réaliste dans les jeux vidéo et, là où les super-calculateurs prennent des heures pour créer un océan pré-rendu au cinéma, Sea of Thives prend pour le générer en temps réel 7,8 millisecondes.


Pour ceux qui souhaiteraient des informations plus précises.

Sujet du site Transformation de Fourier Subsurface scattering Comment Rare a transformé le son en eau
Lien du site https://fr.wikipedia.org/wiki/Transformation_de_Fourier https://en.wikipedia.org/wiki/Subsurface_scattering https://www.researchgate.net/publication/264839743_Simulating_Ocean_Water