For the course Human-Computer Interaction, we created a VR application with the intention to raise environmental awareness.
As our game requires basic button uses, we used Google Cardboard and a simple bluetooth controller. For implementation, we used Unity and Google VR SDK (Gvr).
For some objects, we set the pointer click as a trigger and assigned corresponding events such as updating the pop-up text, playing an audio source, enabling the player to move around, disabling the glow of an object, destroying an object, and switching the scene. For the events that are not built-in features in Unity, we wrote C# scripts to update the states of the scene or modularize particular functions.
Even though we are not tracking the movements of the actual user, we wanted to add some level of freedom to move around, as the user will feel more realistic in the ocean that way. So while we do not let the user move at the initial boat partying scene, we let them move around in the ocean. We used a C# script that slowly moves the player forward if the player looks down with the angle of 30 degrees. The user is able to explore a broader range of the ocean without complicated controller, and because the user is not actually walking around, it feels more like swimming in the ocean. In addition to that, looking down causes the user to get confronted with the plastic waste which is laying on the bottom of the ocean. However, we do not give the user an option to exit the game in the middle of the story, because we have a certain message we want to bring across, which is only achieved if the user reaches the end of the game.
To build an android application successfully with the limited computing power, we had to optimize the scenes by minimizaing unimportant objects, lighting, shades, and animations and grouping some animated objects. After the optimization, the build was successful, and the game ran smoothly on android phones.
More details about the project can be found in the report file.