Solar System VR

An internal team exploration of best practices in hybrid 3D / VR development for mobile and web platforms.

Platform

Mobile,
WebGL

Launch Date

TBD

Development Team

David Lasala, Creative Director
Jon Bowen, VR Designer & Developer
Rob Schwartzberg, Unity Programmer

Development Tools

Unity 3D 2017.1

Summary

Compared to traditional 3D games, VR development requires a different mindset. Unique needs for VR development include (but are not limited to):

  • Creating a UI that exists in 3D space and can be used with or without VR-specific input devices
  • Rendering at least 60 fps (frames per second) to avoid nausea
  • Creating stationary points of reference to ground the player

Our team was able to explore these conditions during the development of this application without the pressures of client demands, and, as a result, now feels fully prepared to take on a client-driven VR project. One project roadblock was that WebVR was not yet available from Unity; therefore, two separate builds were required—one for WebGL and one for mobile, with no VR in the WebGL build. Additionally, this project required us to upgrade to Unity 2017 midstream due to bugs in switching from VR to 3D modes.

Lessons Learned

Dave: Working in VR presents a fundamental question related to the nature of the experience. Should it be passive and observational, partially interactive or fully interactive. In the case of the partial and full interactivity, the question of how  the user should interact becomes central to the project? If interaction is entirely by gaze, great consideration needs to be given to the VR-UI. If by external control (keyboard and mouse, specialized control, etc.), what then is the use case for the application? Any VR projects we do in the future will begin by answering these questions.