Realities is an ongoing virtual reality project created in partnership with GatherAll, a Los Angeles based studio for multidisciplinary performance. Directed by Jesse Fleming, Realities is a project designed to explore the ways in which we take our reality for granted.
Realities involves multiple scenes which capsize on different elements of sensory perception, using the highly realistic HTC Vive, and the Unity game engine to create immersive environments that encourage the user to interact with them and discover their sensory limits.
In creating this project, I used the incredibly powerful VRTK platform for Virtual Reality development in Unity. This powerful C# Library allowed me to take advantage of the advanced sensors and capabilities the HTC Vive has to offer. For example, a simple "return to main menu" function using the controler can be coded thus:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using VRTK;
public class ReturnToHubOnMenu : MonoBehaviour
{
public bool wasPressed = false;
public SceneSetupSwitcher sceneSetupSwitcher;
private void Start()
{
if (GetComponent<VRTK_ControllerEvents>() == null)
{
VRTK_Logger.Error(VRTK_Logger.GetCommonMessage(VRTK_Logger.CommonMessageKeys.REQUIRED_COMPONENT_MISSING_FROM_GAMEOBJECT, "VRTK_ControllerEvents_ListenerExample", "VRTK_ControllerEvents", "the same"));
return;
}
GetComponent<VRTK_ControllerEvents>().ButtonTwoPressed += new ControllerInteractionEventHandler(DoButtonTwoPressed);
GetComponent<VRTK_ControllerEvents>().ButtonTwoReleased += new ControllerInteractionEventHandler(DoButtonTwoReleased);
}
private void DoButtonTwoPressed(object sender, ControllerInteractionEventArgs e)
{
wasPressed = true;
}
private void DoButtonTwoReleased(object sender, ControllerInteractionEventArgs e)
{
if (wasPressed) {
sceneSetupSwitcher.switchToHub();
}
}
}
I really appreciated the opportunity to design with the studio to create a really interesting experience. I was able to design layouts, storyboards, and other explanatory and planning documents. Without giving too much away, here's a document I created for this project.