L'eau de GTA est une illusion
Dans la vidéo, vous aviez 60 secondes. Ici, on ouvre le moteur en entier : six preuves que la mer, les lacs et les rivières de Los Santos ne sont pas ce qu'ils ont l'air d'être. Chaque démo se manipule.
L'océan est fait de rectangles
Vu d'un bateau, la mer semble continue. Pour le moteur, c'est un puzzle de rectangles posés côte à côte : les « water quads ». Les grands carreaux couvrent le large, et les petits épousent la côte.
Dans les ports, Rockstar a ajouté à la main des rectangles de calme. Peu importe la tempête au large, l'eau y reste plate pour que les bateaux amarrés ne dansent pas.
GET_WATER_QUAD_COUNT() // nombre de rectangles GET_WATER_QUAD_BOUNDS(id) // leurs coins SET_CALMING_QUAD_BOUNDS(id) // zones de calme
Les vagues n'existent qu'autour de vous
Calculer la houle sur tout l'océan coûterait trop cher. Alors le moteur ne fait bouger l'eau que dans un rayon d'environ 200 mètres autour du joueur. Au-delà, la mer est calme.
Vous ne le voyez jamais, parce que la zone vous suit partout. Déplacez le bateau dans la démo : la tempête part avec lui.
SET_DEEP_OCEAN_SCALER(intensité) // règle la force des vagues au large. // rayon actif ≈ 200 m autour du joueur
La mer a un bouton de réglage
Le temps qu'il fait sur l'eau n'est pas seulement de la météo. Une fonction permet de forcer la force de la mer. Tout en bas, l'eau devient si calme qu'un bateau reste immobile et que la mer reflète la ville comme un miroir. Vers 3, c'est la tempête.
WATER_OVERRIDE_SET_STRENGTH(force) // bas : miroir, bateau immobile // 3 : tempête
Les rivières n'ont pas de hauteur
Le jeu sait à quelle hauteur se trouve la mer et la surface des lacs. Mais posez-lui la question au-dessus d'une rivière peu profonde, et il répond une valeur absurde : moins 100 000.
Pour le moteur, ces rivières ne sont pas de la vraie eau. Ce sont des surfaces dessinées pour l'œil.
GET_WATER_HEIGHT(x, y, z) // mer, lac : une vraie hauteur // rivière peu profonde : -100000
Cayo Perico remplace l'océan
GTA Online contient deux fichiers d'eau : celui de Los Santos et celui de l'île de Cayo Perico. Quand vous partez sur l'île, le jeu décharge le premier et charge le second.
Et l'île elle-même n'existe pas tant que vous n'y allez pas. Depuis Los Santos, il n'y a que de l'eau à sa place.
LOAD_GLOBAL_WATER_FILE(0 | 1) // 0 Los Santos, 1 l'île SET_ISLAND_ENABLED("HeistIsland", true) SetWaterAreaClipRect(...) // FiveM
Les reflets se coupent à la carte
Le reflet de votre voiture dans le lac n'est pas une conséquence de la lumière. Chaque objet du jeu porte un drapeau : « apparaît dans les reflets de l'eau », oui ou non. Retirez-le, et la voiture n'a plus de reflet.
Le même drapeau existe pour les miroirs. Le moteur choisit qui a le droit d'être reflété.
SET_ENTITY_WATER_REFLECTION_FLAG(entité, false) SET_ENTITY_MIRROR_REFLECTION_FLAG(entité, false)
Le prochain dossier est déjà sur le Discord
Les membres lisent chaque dossier avant sa publication, avec les fichiers de tournage complets.
Rejoindre le DiscordCe que vous voyez au loin n'est pas réel
Chaque immeuble existe en plusieurs versions, et le jeu les échange sous vos yeux.