Role: Lead Programmer
Tools Used: Unity3D
Collaborators: Hunter "Smokey" Dyar, Omar Cheihk-Ali, Yang-Che Tang
Island Exploration is a virtual reality research project where our group is developing a new means to allow a user to travel in a virtual space that is much larger than their physical space. In this HTC Vive application, users explore an island that consists of several different room-sized areas for them to discover, but the island itself is about the same scale as a physical island. In order to visit areas outside the reach of their real-world physical space, users can scale themselves up to a point where the their physical space spans across the entire island. Once a player reaches the approximate area where they'd like to explore, they can procede to scale themselves back down to a normal size and begin interacting with that area of the island.
Although the main focus of this project is the scaling mechanic, we did not want the "gameplay" of the island application to center around the usage of this function. There is a simple tutorial at the start area of the game to teach users how the mechanic works, but otherwise there is no mention of the mechanic at all again. The goal of this project is to have the scaling mechanic feel intuitive enough to the user that it won't break their immersion in the island experience whenever they have to use the mechanic.
Island Exploration was made using the Unity game engine with the built-in OpenVR packages, used in conjunction with the Vive and SteamVR. Unity provides a GameObject (primitive object type in Unity) that represents the physical play space of the Vive. Since other Vive controls like the player's vision and controller objects are also linked to this GameObject, manipulating the GameObject will also influence these other controls. Scaling the GameObject at runtime will cause the player to feel like they are scaling up and down by the same factor.
While the user is navigating the island at a scale bigger than 1:1, an indicator will highlight the area that the player is set to scale into.