Getting from Point A to Point B in real life is relatively straightforward, but in virtual reality, it can be difficult to build an experience where moving through a 3D environment feels natural. VR developers need to prevent motion sickness to keep people comfortable in VR, and the user experience for moving around—also known as locomotion—isn’t a solved problem.
There are a variety of different ways to achieve effective locomotion, each with their own set of tradeoffs. Daydream Labs and teams across Google have explored ways to make locomotion comfortable, intuitive, and fun. We recently released Daydream Elements, a collection of tech demos that showcase principles and best practices for developing high-quality VR experiences. The core mechanics in each demo are built to be easily configurable and reusable for your own apps. Here are a few things we’ve learned about locomotion:
1. Constant velocity. Locomotion in VR can cause motion sickness when there’s a conflict between a person’s vision and their sense of balance. For example, if you see images showing you accelerating through space, like on a roller coaster, but you’re actually sitting stationary in a room, then your vision and vestibular system will disagree. A way to mitigate this is to use constant velocity during locomotion. Although acceleration can be used to produce more realistic transitions, constant velocity is far more comfortable than acceleration in VR.
While changing velocity is well received in mobile apps, constant velocity is far more comfortable in VR experiences.
2. Tunneling. Tunneling is a technique used with first-person locomotion (such as walking) where, during movement, the camera is cropped and a stable grid is displayed in your peripheral vision. This is analogous to watching first-person locomotion on a television set.
Even though TV shows and movies contain moving images with acceleration, most people don’t experience motion sickness while watching TV. This is perhaps because the TV only takes up a small part of your field of view and your peripheral vision is grounded by a stationary room. VR developers can simulate this by showing people a visual “tunnel” while they’re moving in a 3D environment. We also found it helps to fade the tunnel effect in and out to avoid making it a distraction. We used this approach in Google Earth VR in a feature called Comfort Mode.
Comfort Mode in Google Earth VR helps provide a constant frame of reference in your peripheral vision.
3. Teleportation. Teleportation is a locomotion technique for apps using first-person perspective that allows you to near-instantaneously move to a target location. This technique reduces the simulator sickness that many people feel when the virtual camera moves. However, it also makes it harder for people to maintain spatial context—“where am I, and how did I get here?” We found there are subtle things that can ease the transition and improve context. For example, Google Street View on Daydream fades before and after teleportation. Also, when you teleport to a new location, the app quickly moves the entire scene toward you to convey directional motion. This effect is called “implied motion.”
Displaying a fade or dissolve transition when teleporting from point to point creates implied motion in Google Street View on Daydream.
4. Rotation. It’s often tempting to design a VR experience where we assume that people will be either standing or sitting in a swivel chair. Unfortunately, hardware limitations or physical constraints may not allow for full 360-degree rotation. To make sure people can get where they want to go in a VR environment, consider giving them the ability to rotate themselves within the virtual space. Continuous and animated rotations tend to induce motion sickness. Instead, we’ve found that discrete, instantaneous rotations of about 10-20 degrees feel comfortable and provide sufficient visual context to keep people oriented.
We hope this helps give you a few ways to think about locomotion in VR, and we’ll share more with the community as we continue to explore.