Three.js - le web en 3D!

Par agascongrillis, 3 février, 2024
Le logo de Three.js, un triangle composé de triangles.

Bonjour! Je m'appelle Alexandros et j'étudie avec vous en programmation. Mon intérêt en jeux vidéo combiné avec mon intérêt général en informatique est ce qui m'a poussé à apprendre la programmation.

L'année passée, pendant une pause, j'ai découvert par pur hasard un site web qui m'a vraiment choqué: https://slowroads.io/

Image retirée.
Pas exactement ce qu'on a fait en application web.

"Slow Roads" est une simulation simple d'automobile. Le but est d'aller le plus loin possible sur une route infinie générée procéduralement. L'utilisateur a l'option de choisir son véhicule, la complexité de l'environnement et peut même laisser l'automobile en mode autopilote. Le plus impressionnant? Une fois le monde généré, le tout roule directement sur le navigateur, et surprenamment bien!

Ce site est possible grâce à deux technologies:

  • WebGL2, ou Web Graphics Library est une API JavaScript qui permet de faire du développement graphique 2D et 3D et est disponible dans à peu près tous les navigateurs web existants. Je vais pas mentir... c'a l'air compliqué. De ce que j'ai compris, le développement avec WebGL2 est très bas niveau.
  • Three.js est une librairie JavaScript très populaire qui vise à simplifier le développement en WebGL. En plus d'offrir une façon simplifiée de travailler en 2-3D, Elle est très bien documentée et de nombreuses ressources sont offertes pour apprendre à l'utiliser.

Apprendre à utiliser ces deux technologies est mon but principal pour ce blog. J’espère pouvoir apprendre les notions basiques de WebGL2, Mais Three.js sera le sujet principal de mes recherches et expérimentations.

 

Dans le cas ou je suis satisfait de mon progrès, J'aimerais pouvoir aborder deux sujets supplémentaires tout en utilisant Three.js:

  • La génération procédurale, qui permet à Slow Roads, par exemple, de laisser le joueur conduire infiniment sans répéter le paysage.
  • Le développement de Shaders (Nuanceurs?), des programmes qui gèrent la manipulation graphique.

Merci d'avoir lu mon article, et j’espère que ce sujet vous intéresse autant que moi!

 

 

Étiquettes

Commentaires2

aliu

il y a 1 an

J'ai utilisé Three.js et WebGL2  auparavant, mais c'est la première fois que je vois un exemple qui utilise et pousse ces technologies de manière si intéressante. Bon travail et merci pour cet article!

sebrahim

il y a 1 an

Bonjour,

Tout d'abord, les ressources dans ton article m'ont encouragé à en apprendre davantage sur le Web en 3D. La fusion entre les technologies WebGL2, Web Graphics Library et Three.js est impressionnante. En espérant retrouver d'autres liens intéressants dans tes prochains blogues. Merci pour ton article.