Apk and Demo
The following is a demo of the project. The cod for the project as well as the apk can be found on GitHub
The Evaluation
Goals The purpose of the evaluation was to ascertain the player’s level of satisfaction with the experience. In addition to satisfaction levels, the study examined the time taken to complete the parkour and the player’s ability to finish it. It is also considered the presence of an exercise aspect in the locomotion technique, along with the presence of motion sickness. This data was collected through a questionnaire completed post-game, alongside a measurement of the time taken to finish the level and the total coin collection. ...
My Problems during this project
Despite the issues with the locomotion and interaction technique that have already been outlined, I encountered a number of technical problems with Unity and Meta Quest Link. Occasionally, the Meta Quest failed to establish a connection via Link with my computer. Resolving this issue required me to restart the computer and reconnect multiple times before I could establish a connection and resume my work on the project. A second significant issue was encountered with Unity itself; on occasion, it would cease to function, forcing me to restart the whole thing. Consequently, there were instances where data was irretrievably lost due to the aforementioned issues. While this can be a significant inconvenience, it fortunately did not occur too frequently. A more significant challenge pertained to Unity’s tendency to update itself, which occasionally led to incompatibilities between packages, causing problems with the project. ...
The Interaction
I must admit that I encountered some challenges in identifying an effective interaction technique. The default technique is very intuitive, as it maps the controller position and rotations on the interactable object. After brainstorming for some time, I came up with the idea of incorporating doors as a means to progress in the parkour and unlock the next section. Therefore, I used the package Interactive Physical Door Pack. The included scripts had to be modified to the specific use case in the parkour. Specifically, modifications were made to the rampmover.cs script and the gridmover.cs script. ...
The Parkour
Due to the fact that my method of locomotion requires a special environment, I had to rebuild the parkour. A key element of this process involved incorporating water into the project. Following an online search, I recalled the inspiration for the project: a river in a mountainous landscape. Consequently, I opted to rebuild the parkour using Unity’s terrain feature. I imported the package Handpainted Grass & Ground Textures for textures and the package Lowpoly Environment - Nature Free - MEDIEVAL FANTASY SERIES for details like trees, stones, grass or the water surface. ...
Implementing the locomotion technique
The first Idea My initial approach was to calculate an offset to be added to the player’s position. To begin with, I disregarded the y-component and set the offset in the y-direction to zero. For the other two directions, it was necessary to devise a metric that incorporated information on the effort expended by the player in moving forward. The x-position of the controller was found to be of limited use as it did not provide additional insights. I therefore decided to calculate the offset using the speed of the controllers, as this contains information about the effort: if the player moves the controllers faster, they are exerting more effort to move and therefore want to move faster. I calculated the average speed of both controllers and set it as the offset. Since the direction in which the controllers move is contrary to the movement the player is experiencing, I had to change the direction of the speed of the controllers. The speed of the controller can be retrieved via the following code: OVRInput.GetLocalControllerVelocity(Controller). As this initial approach does not involve any physics, it was implemented in the Update-function. ...
The Idea
The Task In this project, the objective was to develop a locomotion and interaction technique for a VR project using the Meta Quest 2. A predefined parkour was provided. The objective of the locomotion technique was to move the player through the given parkour. The parkour comprised three locations with interaction challenges. These had to be completed using the designated interaction technique. The Idea First, I thought about a technique for locomotion. I therefore brainstormed a list of ideas for potentially fun things to do with it. As a person with a keen interest in sports, I considered sports that could be realistically executed in a virtual reality environment and incorporated some element of physical activity. Following this brainstorming session, four ideas were formulated: ...