Daydream Elements: Foundational VR Design
Daydream Elements launched at Google I/O this year. It’s a set of best practices and reusable code for some of the most fundamental things you do in VR—like walking around and interacting with the environment. So whether you're a seasoned app developer, an immersive design enthusiast, or just curious about VR, you can take a look at the first set of interactions.
Getting around
Teleportation
Teleportation is popular in VR because it allows you to easily explore a large virtual environment. In Elements, the Daydream controller's ability to detect touch is used to make teleportation more discoverable. When you touch the touchpad, an arc is drawn to the teleportation target, so you can click to teleport to that destination point.
The Teleportation Element also addresses a previous downside: becoming disoriented right after you teleport. With an instant jump or a fade to black, you need a few seconds to get your bearings again. However, you can avoid this with a very fast warp effect that quickly flies you to your new location. The warp effect also helps you remain situated, and it’s fast enough to prevent any potential discomfort.
Tunneling
Motion causes some people to feel uncomfortable in VR, even if they don’t feel that way when they play video games on a TV. That’s because the living room (with its chairs, lamps, and mid-century modern asymmetrical coffee table with hairpin legs) helps keep you grounded. The Tunneling Element for VR takes advantage of this same living room effect, and can be used during rotation or when virtually moving around. In the Tunneling Element, the use of a stable grid was the most effective at reducing discomfort. This interaction model was also used and tested in Earth VR and is now available for use in any app.
Chase Camera
Sometimes you need to follow a character while in-game, but if it happens automatically and isn’t under your control, it may be uncomfortable. Our Chase Camera Element is fine tuned to avoid these issues. It emphasizes control and expectations: you determine your target destination with a touchpad click so that moving in that direction feels natural and expected.
It also avoids automatic camera rotation. You can still manually rotate the camera with the touchpad, and the Tunneling Element will turn on during the rotation or if you look in a different direction from the camera movement—which is one of the biggest reasons that chase cameras are so hard to get right in VR. Also note that tunneling effects the environment, but not the character—the fox can run into the tunnel so the user never loses it.
Menu Systems
Click Menu
The Daydream controller is simple and easy to use, but sometimes you need more action choices. Your touchpad-touches may be used for moving around, and your touchpad-click may be dedicated to a primary app action, but you still may want easy access to more options.
In Elements, there’s an example of a drawing application where you click the app button to see a radial menu for access to a larger set of drawing tools and colors. That way, the touchpad can remain dedicated to a primary action (in this case, point-and-click drawing).
Swipe Menu
What if you're fighting a menacing fire-breathing dragon in the boss level of your favorite RPG, and you need to quickly switch between your sword and crossbow, not to mention replenish your health with your limited supply of potions? The swipe menu is a great way to quickly swap between tools. In Daydream Elements, no dragons were available, but you can see the swipe menu in action against some balloons (still menacing).
Daydream Renderer
Last, there’s a new real time rendering system for Daydream, and it's pretty awesome. You can play with dynamic light sources and textures, and it shows that mobile devices are now capable of rich visual experiences. This demo scene is just one example of how content creators can use the Daydream Renderer to make their apps look beautiful. If you’re interested in the technical details of how all this works, check out the documentation.
The goal of Daydream Elements is to make VR design and development accessible to everyone who wants to create great immersive content. Keep your eyes peeled for more Elements coming soon!