Google Maps-Driven Map Dive 3D-Tracking Hands-On
This week the folks at the development studio known as Instrument have brought a virtual reality demonstration to Google I/O 2013, complete with a multi-display drop from the upper atmosphere down toward the earth in freefall. What this demonstration consisted of was seven 1080p displays, each of them run by their own Ubuntu PC working with a full-screen version of Chrome version 25. A motion tracker works to track the user, their arms, and the angle at which they're standing – or leaning and falling, as it were.
This system was developed by Instrument to track user input and motion tracking with a custom C++ app built with openNI as well as an ASUS Xtion Pro 3D motion tracking sensor camera. As the motion tracker sees and understands the angle of the human playing the game's torso and location of each arm, so too will their avatar on the display array move as they fall.
The 3D game content is rendered with WebGL using THREE.js, the WebGL layer being rendered with a totally transparent background. This setup allows the map layer underneath to show through, this map layer being generated by Google Maps.
What the user sees below – the earth they're plummeting toward – is a completely live HTML Google Map instance. It's accurate – meaning you could potentially be diving toward your house, a national landmark, or perhaps somewhere that'd be useful for real-world training.
In addition to this setup being live and ready to roll here at Google I/O 2013 as a playable demo, Instrument has created a Dive editor. With this Dive editor, an editor is able to build directly into the control node administrative console, each of these changes reflected instantly – live in the scene.
The editor user interface exists as a Google Map, the person editing it able to use draggable markers that act as game objects. With this interface, developers and savvy users will be able to utilize geocoding to center the map view on locations of their choice – anywhere Google Maps can see. Think of the possibilities!