For this personal project, I wanted to improve my skills through creating a basic VR experience containing one of each of the following:


          • A dynamic visual effect

          • A magical interaction

          • A beautiful visual environment.


Collaborating with a friend on the project, we settled on an initial project scope.  We would create a room that would contain the user, an environment beyond the player bounds, and objects that could pass between the two.

Dynamic Visual Effect: Force Field

For this aspect, we wanted to use an existing effects pack, but the implementation by the developer was a little too specific for our needs.  For our chosen dynamic effect, we wanted to show the nature of the boundary between the outside environment and the player's movable area.  We implemented a portal-warping sort of effect whenever an object passes through the boundary to give the impression of a force field, visible below.

Magical Interaction: Telekinesis

I wanted to start with something fundamental and powerful. Who hasn't at some point attempted to move an object with their mind without directly touching it? Who doesn't still check periodically to see if they've somehow developed telekinesis since the last attempt?  Not you? Oh, uh, me neither.


In addition to the inherent awesome and fun qualities of telikinesis, it enables am important aspect of VR— the ability to inspect something more closely without the necessity of player movement.  Player movement is difficult in that it can cause nausea if not executed correctly.  Furthermore, I wanted to restrict player movement to the room, while enabling interaction with objects beyond the glass, so telekinesis was a necessity.

Bonus Interaction: Generating and shooting projectiles, allowing rapid-fire mode

Environment: Sprawling Landscape

While I know how to make things look realistic and beautful using physically based rendering engines, to translate the same visual qualities to a realtime experience is no easy feat.  Below is the concept art that hints at some of my longterm goals for realtime rendering as I continue to develop Spaces.