The Long Leg

Edward Hopper

Explication du Code Three.js

Ce code configure une scène en 3D en utilisant Three.js, en intégrant des objets tels que le ciel, le paysage, un bateau et un phare, tout en ajoutant des effets de lumière, de l'eau animée et des contrôles de la caméra. Voici une explication détaillée :

Imports et Configuration Initiale

Les modules Three.js nécessaires sont importés, y compris ceux pour le chargement d'objets, les contrôles de la caméra, l'interface utilisateur graphique (GUI), et les objets spéciaux comme le ciel et l'eau. Une scène, une caméra, et un renderer sont créés. Le renderer est configuré pour gérer les ombres et est ajouté au document HTML.

Contrôles de la Caméra

OrbitControls permet de contrôler la caméra avec la souris, ajoutant des effets d'amortissement pour des mouvements plus fluides.

Configuration du Ciel

Un objet Sky est ajouté à la scène pour simuler le ciel. Un contrôleur GUI permet d'ajuster les paramètres du ciel en temps réel, tels que la turbidité, Rayleigh, et les coefficients Mie, affectant la qualité et la direction de la lumière solaire.

Création du Paysage

Une géométrie de plan est créée pour représenter le sol, avec une texture de sable appliquée. Le plan est configuré pour recevoir des ombres.

Chargement d'Objets 3D

Un bateau et un phare sont chargés à partir de fichiers .obj et .mtl en utilisant OBJLoader et MTLLoader. Les objets sont positionnés et ajoutés à la scène.

Ajout d'Eau Animée

Un objet Water est créé à partir d'une géométrie de plan, avec une texture animée pour simuler l'eau. L'eau est configurée pour réagir à la direction de la lumière solaire et est ajoutée à la scène.

Effets de Lumière et de Brouillard

Animation et Rendu

La fonction animate est une boucle d'animation qui met à jour continuellement la scène, en particulier l'animation de l'eau et les contrôles de la caméra. La fonction init initialise la scène en appelant les fonctions de création des différents éléments et en démarrant la boucle d'animation.

Image :