KTH-AGI / submergency

This repository is contains Project 1 for the course DH2413 Advanced Graphics and Interaction 2023 at KTH Royal Institute of Technology.
0 stars 0 forks source link

Write short summary of work process #155

Open sofiabergqvist opened 11 months ago

sofiabergqvist commented 11 months ago

Write a short summary about what you have done within this project, to put on our website. It should include:

XXPermanentXX commented 11 months ago

I primarily work on the swimming interaction for players, aiming to provide a more realistic swimming experience. My specific tasks include implementing the swimming interaction through both controller and hand tracking methods.

Development Process and Details of Technology Used: The two control methods have subtle differences in implementation. However, both primarily utilize the Oculus SDK to obtain the hand's velocity. Based on the direction and magnitude of the velocity, it's then translated into a force that propels the player.

Challenges: How do we simulate swimming in the most realistic way possible while allowing users to interact naturally?

Obstacles: While the Oculus SDK provides a method to determine hand velocity, its accuracy and latency can influence the quality of the interaction. Even minor discrepancies can be magnified, leading to player confusion or disappointment. Swimming interaction is a dynamic and continuous process. This nature introduces complications during testing since it's not straightforward to identify issues just by setting breakpoints.

Lessons Learned: During development, it's essential to familiarize oneself with the SDK's source code. One shouldn't blindly utilize methods encapsulated in the SDK without careful evaluation. These methods might come with their own sets of problems. In my journey of developing a controller-less swimming interaction, my over-reliance on the hand velocity acquisition function from the Oculus SDK became evident. I used this function as the foundation for the swimming interaction and based my algorithms on it. This decision subsequently led to numerous bugs and exhaustive debugging sessions. After two days of investigation, I discovered issues inherent to the method provided by Oculus, forcing me to reevaluate and discard a significant portion of my prior work.