Name and Contact Information
- name: Pedro Andrade Ferreira Sobrinho
- website: https://github.com/pedroansa
- gitlab username: @pedroansa1
- timezone: GMT-4:00
Title
Building Immersive Learning Experiences
Short description of work done
In my 3-month Google Summer of Code project for 2023, I focused on learning, developing, and integrating a new immersive room into SAT’s 3D environment, Satellite. This room leverages Mozilla Hubs to offer an immersive learning experience, aiding the comprehension of light-related concepts within a virtual setting. The heart of this experience lies in a JavaScript component crafted using the Three.js framework. It simulates a ray source in the virtual space and includes a user interface to manipulate diverse light attributes.
Project highlights include:
- Simulating a ray source within the virtual environment.
- Designing a user interface to manipulate light properties—angle, position, decay, axis, and rotation speed.
- Augmenting learning by visualizing light rays as lines extending from the source to surfaces in the virtual world.
- Ensuring changes in light attributes alter the color and behavior of rays, enhancing comprehension of raycasting and light simulation.
- Enabling synchronization of the light component across users in the Mozilla Hubs room for collaborative learning.
Further, I developed a user tutorial, providing clear guidance on manipulating the light source and interacting with the environment. A practical test box lets users observe light interaction with diverse surfaces.
Another addition is the visualization of ray lines refracting towards a camera. This feature deepens understanding of light refraction principles and offers interactive exploration.
The project provides a dynamic learning environment, yet there’s room for improvement, including extending light refraction to all surfaces and conducting user testing for valuable insights.
What code got merged
The following merge requests were successfully merged into Serveur-injection repository which is the injection server used to inject components and rooms into the Satellite environment:
Description: After implementing and testing in local, this MR firstly deployed the room and all its components so we could test the compability and start user-testing. This single MR acumulates the contribution of the entire project since it was uploaded in a local environment first.
Here we are able to see the new component rayCastLight and the room configuration.
Description: Some changes need to be done to include all the audios for the popups, some URL were not working and some files were in the wrong format
Description: Some fixes needed to be done so we could include the narrator for the popups
What code didn’t get merged
- …
What’s left to do
While the core objectives of the project have been achieved, there are areas that require further attention and improvement. Specifically, enhancing the light refraction feature to interact with all surfaces within the virtual environment is a priority for future work. This improvement would provide users with a more accurate and comprehensive understanding of light refraction principles and its interaction with various materials.
In addition, the project would greatly benefit from user testing to collect valuable feedback for further improvements. Although a tutorial and a Google Form for user testing were prepared, the limited time available prevented the implementation of user testing to gather insights and enhance the project based on user feedback.