Numerical Factory

Virtual reality project made in collaboration with Numerical Factory, a UPC's mathematics department initiative. This project was made using Unity and the Meta Quest 2 headset and explores how to set up a VR experience and records the steps to follow to learn.
Aside from the basics of VR, a full project was also developed: a simulation of a laparoscopy , a medical procedure, that explores the physics related problem of how to simulate a soft body object and the interactions with the laparoscopic tools.

Tools and objectives

The purpose of this project was to learn how to set up a Virtual Reality project in Unity so the next people that work on it can build upon the knowledge. The long-term objective of Numerical Factory is to create a VR application that utilizes this medium to learn mathematics in an interactive way.

 Hexagon and moebius
Moebius band mesh created in the example scene

Interactive mathematics

Aside from the initial set up: movement, hand tracking, teleportation, basic object interaction... I also experimented with mesh creation related with mathematics: I created a script that makes hexagon meshes that I used as tiles for the scene and another script to make moebius bands using its parametric function and the ability to determine the detail of the mesh (number of triangles). All the assets and resources of this project can be found in this repository .

Simulation of a laparoscopy

As my final degree's thesis I researched how to simulate a laparoscopy, a medical procedure that is used to examine the abdominal area and remove tumors with the use of forceps, scissors and a camera, using the VR set up already done.
The objective was to create a first approach of a simulation of this kind of medical procedure since the real operation is also done through a screen and a realistic enough simulation could be used to practice.

Laparoscopic tools
Laparoscopic tools' meshes
Demo of a softbody object and the interactions with the laparoscopic tools

The main focus of this project, asie from the VR aspect, was to model a physiscs problem: how to simulate a soft body object that represents organs.
To do that I used Unity components like spring joints that stretch and contaract when applying force to them to modify the initial mesh by subdividing the object into small particles that are connected with these joints.
The other physics problem to model was how the soft body objects interact with the laparoscopic tools: how the "organs" are cut and pinched by these tools. The tools als had a script to animate their movement in a realistic way. More details of this project can be found in this repository .


Here's a guide and resources to use to set up a VR project and the generated work with this project