WITHIN WebVR
360 video webplayer and WebVR platform
2015 - 2018
Responsible for 3D user interface elements, including paginated thumbnail grid, video detail view with play and back buttons, video player controls with replay, play / pause, resolution and back buttons, and timeline seek bar with Three.js and vanilla javascript. The detail view and video controls use SDF Bitmap Text , and I added support for VR displays and VR controllers with the WebVR API and Gamepad API.
Supported devices include Oculus Rift, Vive, Windows MR, Oculus Go, GearVR and Daydream. A user with any of these headsets and a browser that supports WebVR can select "Enter VR" to browse and watch a curated collection of spherical videos within their web browser. I frequently tested the site and fixed bugs on each of these platforms to ensure they were working in their supported browser.
Through the Gamepad API , any 3DOF or 6DOF controller can be used to "hover" over an interface element by pointing at it with a raycast, and selecting it with a primary button press. Controller models are loaded in to match the user's controller when it is connected (Oculus Touch, Daydream controller, etc). Users can also navigate the interface and rotate the camera with a mouse, XBox controller, keyboard arrow keys and spacebar, or 0DOF DPad (like the Oculus Remote).