pperuzzo@pperuzzo:~$ cat openlabvr
the covid-19 pandemic has more clearly exposed the need for better training for stem students.
stem laboratories in schools are highly inaccessible due to safety concerns, limited equipment,
and lack of materials.
for these reasons, i created openlabvr, a platform that provides fully equipped science laboratories
in vr.
leveraging hand-tracking technology, openlab provides realistic interactions with lab objects,
helping students build up confidence before entering a real laboratory.
as the cto for the project, i wrote the majority of the code in unity c#, focusing on creating
modular and reusable components for the vr software.
i also developed a custom parser to generate vr experiences from json files to allow for
faster experience development, and to maximize code reutilization.
another key component of the software that i wrote was the integration with unmanaged
libraries that i wrote in c++. through the integration of dlls, i was able to bring the power
and efficiency of c++ code directly into the c# unity codebase.
additionally, i managed different unity versions throughout the project to maintain compatibility
and
streamline development.
seamless interactions are a fundamental part of openlab.
i implemented all the vr interactions using hand-tracking and the oculus sdk. this ensured an
immersive and familiar user experience for students.
to provide relevant analytics about virtual lab experiences to professors and educators,
i also implemented a system for the unity client software to communicate with the web server.
i achieved this by adding logic to post data and communicate with the openlab's web server api.
i worked extensively on optimizing and debugging the unity software project to target quest
1/2 headsets.
to ensure optimal cpu and gpu performance, i used various tools such as performance
analyzer, frame debugger, vrapi, systrace, renderdoc (meta fork), and perfetto, managing to bring
complex environments to standalone vr in under 60 draw calls.
as part of my role, i coordinated a team of 3d modelers and programmers, providing detailed instructions on how to develop optimized and performant models and code.
software promo video
full gameplay
machines interactions
micropipette interactions
the source code for this project is proprietary and not publicly available; however, it can be made available for review upon request.