Back
Virtual Reality Theater
An interactive experience bringing 50 audience in an synchronized experience in VR.
In 2017, I joined the committee of VR Theater program at the ACM’s SIGGRAPH (Association for Computing Machinery's Special Interest Group on Computer Graphics and Interactive Techniques) to design and build a multi-player VR virtual lobby in Unity (for 2018 production) and Unreal (for 2019 production).
VR Theater (VRT) is a co-located multi-player VR experience that serves as the launcher of a selected program played during ACM SIGGRAPH 2018 and 2019 conferences.
My Role: Technical Lead, Motion Designer / Developer
Project Timeline: 2017 - 2019
Experience Design and Development for VRT 2018
We developed the VRT lobby in Unity for the 2018 program as a continuation of a team-made prototype. In this experience, I created a set of animated line renderers, coordinated with timeline, to guide user’s attention for the showing films’ posters.
With the success of the show, we decided to take it further to a more interactive experience for VRT 2019 - a co-located multiplayer experience.
Experience Design and Development for VRT 2019
The theme of VRT 2019 is around the keyword Spark. We decided to make an interactive ocean of spark in Unreal, where each of the audience in the virtual space can interact with their hands, while seeing other people in the same virtual space.
Inspiration of of particle ocean around the SIGGRAPH 2019’s theme Ignite.
Designing and Implementing with Niagara (Beta) in Unreal
We used the Niagara system in Unreal 4 to create the particle ocean. The particles were spawned upon a texture with a bokeh dot like look.
The particles form a waving ocean where the audience's avatars reside. As participants join the virtual lobby, portions of the particle ocean transform into their avatars. The color transitions from a calm ocean to ignited sparks, echoing the theme Ignite.
As they await the show's start, audience members can use their virtual hands to generate sparks and interact with the ocean.
Particle Control
User hand location data were fed into the niagara particle system in order to trigger variable changes to create forces such as an attracting motion.
Particle behaviors
Emission
- Action: Automatically, from the user’s hand representation motes.
Repulsing Motion
- Action: The user makes contact with the motes in the ocean.
- Effect: The motes around the user move repulse from the user’s hands/head motes.
Attracting Motion
- Action: The user grabs the motes in the ocean.
- Effect: The motes around the center been grabs flow towards user’s hand, while they lights up in a pulsating frequence of 1 pulse/second. The motes been grabbed can be pulled away from the ocean and fall back to create gravitational motion of surrounding motes, thus to create a Ripple Motion (see below) with the surrounding motes on the surface of the ocean.
Rippling Motion
- Action: Following the Attracting Motion, or following Emersion
- Effect: The surrounding motes of user’s interaction center moves in a rippling pattern with certain gravitational factor.
Ignition (Lighting Up)
- Action: The motes emitted and fallen from user’s hands are in contact with each other.
- Effect: The motes in the ocean ignites to brighter color and light emission.
Emersion
- Action: A user joined the virtual lobby.
- Effect: 3 motes representing a user’s head and two hands flows out of the motes ocean, followed with a Ripple Motion of the surronding motes like the user motes are a droplet bouncing out of the ocean.
Formation (TBD)
- Action: Some motes in the ocean forms into a movie poster