Nom et coordonnées

Titre

Créer des expériences d’apprentissage immersives

Brève description du travail réalisé

Dans le cadre de mon projet Google Summer of Code 2023, échelonné sur trois mois, je me suis consacré à l’apprentissage, au développement et à l’intégration d’une nouvelle salle immersive dans Satellite, l’environnement 3D de la SAT. Cette salle s’appuie sur Mozilla Hubs pour offrir une expérience d’apprentissage immersive qui facilite la compréhension des concepts liés à la lumière dans un cadre virtuel. Le cœur de cette expérience est un composant JavaScript réalisé avec le cadriciel Three.js. Il simule une source de rayons dans l’espace virtuel et propose une interface permettant de manipuler divers attributs de la lumière.

Faits saillants du projet :

  • Simuler une source de rayons dans l’environnement virtuel.
  • Concevoir une interface permettant de manipuler les propriétés de la lumière : angle, position, atténuation, axe et vitesse de rotation.
  • Enrichir l’apprentissage en visualisant les rayons lumineux sous forme de lignes qui vont de la source jusqu’aux surfaces du monde virtuel.
  • Faire en sorte que les changements d’attributs de la lumière modifient la couleur et le comportement des rayons, ce qui aide à comprendre le lancer de rayons (raycasting) et la simulation de la lumière.
  • Permettre la synchronisation du composant lumineux entre les utilisateurs présents dans la salle Mozilla Hubs, pour un apprentissage collaboratif.

J’ai en outre conçu un tutoriel destiné aux utilisateurs, qui explique clairement comment manipuler la source lumineuse et interagir avec l’environnement. Une boîte de test permet d’observer concrètement l’interaction de la lumière avec différentes surfaces.

Autre ajout : la visualisation de rayons qui se réfractent en direction d’une caméra. Cette fonction approfondit la compréhension des principes de la réfraction de la lumière et ouvre la voie à une exploration interactive.

Le projet offre un environnement d’apprentissage dynamique, mais il reste place à l’amélioration, notamment étendre la réfraction de la lumière à toutes les surfaces et mener des tests auprès d’utilisateurs afin d’en tirer des observations utiles.

Code fusionné

Les demandes de fusion suivantes ont été intégrées au dépôt Serveur-injection, soit le serveur d’injection utilisé pour injecter des composants et des salles dans l’environnement Satellite :

Description : après l’implémentation et les tests en local, cette demande de fusion a d’abord déployé la salle et tous ses composants afin que nous puissions vérifier la compatibilité et amorcer les tests auprès d’utilisateurs. Cette seule demande de fusion regroupe la contribution de l’ensemble du projet, puisque celui-ci a d’abord été téléversé dans un environnement local.

On y voit le nouveau composant rayCastLight ainsi que la configuration de la salle.

Description : des changements étaient nécessaires pour inclure tous les fichiers audio des fenêtres contextuelles; certaines URL ne fonctionnaient pas et certains fichiers étaient dans le mauvais format.

Description : quelques correctifs étaient nécessaires pour pouvoir intégrer la narration aux fenêtres contextuelles.

Code non fusionné

Ce qu’il reste à faire

Les objectifs principaux du projet ont été atteints, mais certains aspects demandent encore de l’attention et des améliorations. En particulier, faire en sorte que la réfraction de la lumière interagisse avec toutes les surfaces de l’environnement virtuel constitue une priorité pour la suite. Cette amélioration donnerait aux utilisateurs une compréhension plus juste et plus complète des principes de la réfraction de la lumière et de son interaction avec les différents matériaux.

Par ailleurs, le projet gagnerait beaucoup à faire l’objet de tests auprès d’utilisateurs, afin de recueillir des commentaires utiles à son amélioration. Un tutoriel et un formulaire Google avaient été préparés à cette fin, mais le temps limité n’a pas permis de mener ces tests ni de faire évoluer le projet en fonction des retours des utilisateurs.