XR Developer Kit
Do Your Users Experience Motion Sickness?
Locomotion-based motion sickness has long been a complaint among virtual reality gamers and drone pilots. Traditional headset experiences require a handheld controller (e.g. thumbstick, touchpad, gamepad, keyboard, etc.) for locomotion. Teleportation compromises immersive presence and smooth navigation leads to sensory imbalances that can cause dizziness and nausea (even when using room-scale sensor systems like HTC Vive and Oculus Rift). This leaves developers having to choose between comfort and immersion.
BodyNav technology maximizes both presence & comfort by reducing vection
BodyNav™ is a patented, body-based navigation technology that puts the body in direct control of movement through virtual space. Without any custom hardware, BodyNav uses a system’s built-in sensors for first-person view (FPV) navigation free of hand controls. Viewers simply lean forward to advance in space; lean back to reverse; tip left or right to strafe or sidestep; and rotate in place to look around. The more you lean, the faster you go. Because the interactions were designed to respond to natural bearing and balancing instincts, coordination is immediately obvious to adults as well as to children.
BodyNav technology can easily be adapted to modernize your user experience. It enhances your first-person gaming, multi-camera performances and sporting events, video conferencing and telepresence applications, control of remote vehicles, street-view maps, augmented reality, architectural simulations, and 3D user interfaces for browsing documents and images.
For a limited time, MONKEYmedia is offering royalty-free licenses to developers interested in implementing BodyNav natively in their applications. This page explains how BodyNav works and allows you to sign up for a license. Be sure to download our Test Drive input emulator to get a feel for the user experience variables before implementing them yourself.
Human Interface Guidelines
BEST PRACTICES FOR APPLYING BODYNAV TO YOUR CONTENT
|Neutral Zone Posture Range||From 5° pitch down to 5° pitch up||From 5° pitch down to 5° pitch up||From 5° roll left to 5° roll right||From 5° roll left to 5° roll right|
|Transition from Neutral Zone to Max°||Accelerate as pitch down increases||Accelerate as pitch up increases||Accelerate as roll left increases||Accelerate as roll right increases|
|Max Speed Posture||40° pitch down||30° pitch up||50° roll left||50° roll right|
|Transition from Max° to Extreme°||Slow as pitch down increases||Slow as pitch up increases||Maintain max speed||Maintain max speed|
|Extreme Posture Boundary||50° pitch down||60° pitch up||80° roll left||80° roll right|
|Input beyond Extreme°||not used||not used||not used||not used|
Walking & Running
Locomotion in BodyNav is accomplished by pivoting the head or torso around the body’s x-axis. When one pivots forwards (like looking at the ground ahead of you while walking), the player’s avatar moves forward in the virtual space. Pivoting the body up (like looking to the sky) moves the avatar backwards. The rate of travel accelerates and slows in proportion to the pivot angle. It is a good idea to constrain both absolute and relative speeds to maintain the participant’s sense of walking or running at a comfortable pace.
Device pitch is used to determine the degree of pivot forward of the body, comparing the body’s pivot angle to a pivot origin and taking into consideration a pivot down neutral zone threshold. If the body’s pivot angle is greater than the pivot down origin but less than the pivot down neutral zone threshold, the avatar doesn’t move. If the participant’s body pitch down is greater than the pivot down neutral zone threshold then the avatar moves forward.
Likewise, pitch is used to determine the degree of pivot back of the body, compared with the pivot up origin and a pivot up neutral zone threshold. If the body’s pitch indicates a pivot up greater than the pivot up origin but less than the pivot up neutral zone threshold, then the avatar doesn’t move. If the participant’s pitch is greater than the pivot up neutral zone threshold, then the avatar moves backwards.
When wearing a VR headset, the origin is 0° pitch (level with the ground). But on a handheld tablet or phone device, the origin is more comfortable if set to 25-35° pitched down from level. The neutral zone around the origin is used to provide a bit of flexibility for wobble without initiating movement. In a VR headset, +/- 5° is sufficient, whereas on a tablet +/- 10° is more forgiving. Pivot origin preferences, however, may vary from participant to participant and application to application. The pivot origin can also be established on the fly by identifying the average resting posture of the device for a given participant during app launch. Origins and neutral zone thresholds may also be set and/or calibrated, individually or en masse, by participants in a preferences panel.
BodyNav Test Drive offers two built-in modes of locomotion acceleration. In the simplest linear acceleration mode, speed of avatar movement increases linearly from not moving until reaching the Neutral Zone Threshold to moving at full speed at a Max Speed Posture. Then, movement beyond Max Speed Posture and Extreme Posture Boundary, the avatar moves at full speed. Movement beyond the Extreme Posture Boundary is ignored.
In games where the player needs to be able to look all the way down to inspect, pick up and interact with virtual objects, there’s a more dynamic and equally natural modality. In Speed to Max then Slow acceleration mode, avatar speed increases linearly from the Neutral Zone Threshold to moving at full speed at a Max Speed Posture. Then … as the participant pivots further beyond Max Speed Posture, the avatar slows down until reaching the Extreme Posture Boundary, where the avatar stops moving entirely.
The participant simply needs to rotate their body to the left and right in the physical world to control their orientation in the virtual world.
In BodyNav, the “pivoted left” posture involves the rotation of the participant’s head, torso, or entire body counter-clockwise around its vertical axis, such that the body is aimed leftward.
Likewise the “pivoted right” posture involves the rotation of a device clockwise around its vertical axis, such that the entire body is aimed rightward.
Similar to the pivoting up/down, targeted yaw variables can be used to define a left/right reference origin and neutral zone thresholds.
Strafing & Side-stepping
Tipping postures involve a lateral leaning of the participant’s body roll, akin to turning an automobile steering wheel in a counter-clockwise (or clockwise) direction around the body’s z-axis. The further the player leans left or right, the faster the avatar side-steps in the virtual environment. The subtly of this body gesture enables sneakily strafing around corners, guns fully-loaded, without being seen by opponents.
When it comes to left/right tip centering, level (as detected by a device) isn’t necessarily the same as a person’s perceived sense of level. Some people hold one shoulder higher than another, some rest their head at a slight angle, others stand square. As a result, the world is framed differently for different people. Thus, calibrating to a participant’s resting position yields more comfortable interactions because it minimizes inadvertent input.
If the participant is standing upright facing forward (e.g. tip origin), they are established as looking straight ahead in the virtual world. When the participant tips their body left (or right), their view in the virtual world is moderately rotated counter-clockwise (or clockwise) around their z-axis to tip the left (or right), compensating for the difference between the virtual horizon and the real horizon as a result of the angle of lean.
The adjusted angle of the virtual world need not have a 1: 1 inverse correlation with the posture of the participant’s body or head. For example, the degree of counter-clockwise rotation that the virtual world moves can be dampened in comparison to the degree of tip right of the participant’s head. With a handheld device, this would provide sufficient feedback for the participant to maintain awareness of their movement of the device while softening that feedback enough to avoid distraction.
BodyNav can be easily adapted into your applications to allow for hands-free locomotion, smoother user interactions in VR that eliminate motion sickness and enhance physical presence in the virtual world. To allow for users to experience BodyNav in the following tested VR games & applications on HTC Vive and Oculus Rift, we’ve engineered a Test Drive plugin for OpenVR. You’ll be able to experiment with control variables and perform robust A|B usability tests before writing any new code to implement BodyNav natively.
Instructions for how to configure the Test Drive panel are below. Enjoy!
INSTALLATION & SETUP
- Download, unzip and run the installer.
- Launch SteamVR.
- Press System Button on controller to open SteamVR dashboard. BodyNav Test Drive icon should appear just above time display.
- Open a compatible game or app. (See catalog of tested apps; start with something simple like COMPOUND or DOOM VFR)
- Enable BodyNav in control panel. (Notice that rendering of touch location on virtual touchpad provides direct feedback for body posture)
- Ensure that game is internally configured with locomotion settings to use:
- (a) Mode: smooth / free movement (not teleportation)
- (b) Control: continuous touch
- (c) Direction: forward based on headset orientation (not controller)
- When moving around in the game, be sure to keep your thumb off the touchpad.
(Note: This version of BodyNav Test Drive also supports apps that require the touchpad to be pressed for navigation, such as VR Chat. Not yet enabled is offset for apps that aim based on controller orientation rather than headset orientation. Thus, if testing Fallout4VR or Onward, be sure to aim hand controller forward to match headset orientation.)
Enabling BodyNav activates BodyNav’s input emulation functionality. When active, the player’s body movement gets interpreted by applications as input from a hand controller. Inside your game or app, players will need to enable “analog” locomotion in the game’s settings instead of discrete or teleportation locomotion and set the game to use head orientation (NOT controller orientation) in establishing direction of movement. [IMPORTANT: If you use controller orientation, this version of BodyNav Test Drive may not be able to resolve vection.]
Select which input method to be used for virtual input. Specify which input component on which controller.
Options include Touchpad, Touchpad (pressed), Gamestick, Gamestick (pressed), Keyboard (using WASD keys), and Keyboard (using arrow keys).
Switching between 1st and 2nd controller highlights the current controller in your heads-up display. You can also see on the virtual hand controller a real-time visualization of virtual touch as driven by body movement. This helps debug tuning of input constraint variables.
Note: If available, please use a touchpad or gamestick as these will give the best results. Keyboard buttons are discrete and lack fluidity of movement control.
If you want to manually disable BodyNav input in the midst of playing, pick a button not otherwise used by your game and specify whether to disable BodyNav when that button is held. You can also set BodyNav to only be active when the button is held. The last mode uses the specified button to toggle BodyNav on and off with each press.
BodyNav Test Drive offers 2 built-in modes of locomotion acceleration. In the simplest linear acceleration mode, speed of avatar movement increases linearly from not moving at the Neutral Zone Threshold to moving at full speed at a Max Speed Posture. Then, movement beyond Max Speed Posture and Extreme Posture Boundary, the avatar moves at full speed. Movement beyond the Extreme Posture Boundary is ignored.
In games where the player needs to be able to look all the way down to inspect, pick up and interact with virtual objects, there’s a more dynamic and equally natural modalities. In Speed to Max then Slow acceleration mode, avatar speed increases linearly from the Neutral Zone Threshold to moving at full speed at a Max Speed Posture. Then … as the participant pivots further beyond Max Speed Posture, the avatar slows down until reaching the Extreme Posture Boundary, where avatar stops moving entirely.
PIVOTING FORWARD & BACKWARD
Forward Zero Edge∡: Downward limit of one’s neutral zone (the range of angles in which the avatar doesn’t locomotive, even when leaning forward). Leaning beyond this angle, one moves forwards in virtual space.
Forward Max Speed∡: Max Speed is angle of the body that corresponds with furthest extent of the simulated controller (e.g. 100% up on touchpad).
Forward Extreme∡: This angle will be the edge of one’s forward movement range within BodyNav. At this angle, the avatar slows to a stop when transitioning from Max Speed∡ to Extreme∡. One can then look all the way down at the ground to inspect, pick up and interact with virtual objects without moving unintentionally. Any posture beyond the extreme is ignored.
Reverse Zero Edge∡: Upward limit of one’s neutral zone (the range of angles in which the avatar doesn’t locomotive, even when leaning backwards). Leaning beyond this angle, one moves backwards in virtual space.
Reverse Max Speed∡: Max Speed is angle of the body that corresponds with furthest extent of the simulated controller (e.g. 100% down on touchpad).
Reverse Extreme∡: This angle will be the edge of one’s backwards-leaning movement range within BodyNav. At this angle, the avatar slows to a stop when transitioning from Max Speed∡ to Extreme∡. One can then look all the way up at the sky or ceiling without moving unintentionally. Any posture beyond the extreme is ignored.
Left Zero Edge∡: Leftward limit of one’s side-to-side neutral zone (the range of angles in which the avatar doesn’t locomotive, even when leaning left). Leaning beyond this angle, one moves left in virtual space.
Left Max Speed∡: Max Speed is angle of the body that corresponds with furthest extent of the simulated controller (e.g. 100% left on touchpad). After this angle, speed is constant from Max Speed∡ to Extreme∡.
Left Extreme∡: This angle will be the edge of one’s left-leaning movement range within BodyNav. Any tip posture beyond the extreme angle is ignored.
Right Zero Edge∡: Rightward limit of one’s side-to-side neutral zone (the range of angles in which the avatar doesn’t locomotive, even when leaning right). Leaning beyond this angle, one moves right in virtual space.
Right Max Speed∡: Max Speed is angle of the body that corresponds with furthest extent of the simulated controller (e.g. 100% right on touchpad). After this angle, speed is constant from Max Speed∡ to Extreme∡.
Right Extreme∡: This angle will be the edge of one’s right-leaning movement range within BodyNav. Any tip posture beyond the extreme angle is ignored.
Profiles allow you to experiment with different configurations for different games. Create, load and apply various settings until you get the experience perfectly balanced.
Gaming Profiles & Tips
APPS & GAMES KNOWN TO BE COMPATIBLE WITH BODYNAV TEST DRIVE
BodyNav Developer Program
SIGN UP FOR A FREE TEST DRIVE AND FIND OUT ABOUT LICENSING OPTIONS
Copyright © 2018 MONKEYmedia, Inc. All rights reserved. BodyNav, BodyNav Test Drive, Walk-in Theater and Teleport are covered by US Patent 9,563,202, US Patent 9,579,586, US Patent 9,612,627, US Patent 9,656,168, US Patent 9,658,617, US Patent 9,782,684, US Patent 9,791,897, US Patent 9,919,233, US Patent App 15/905,182 and other patents pending. MONKEYmedia and SeamlessTV are registered trademarks of MONKEYmedia. BodyNav, Walk-in Theater, Teleport, Seamless Expansion and Seamless Contraction are trademarks of MONKEYmedia. BodyNav tutorial game soundtrack courtesy of De La Soul. iPhone, iPad and iOS are trademarks of Apple Inc., registered in the U.S. and other countries. App Store is a service mark of Apple Inc. The Teleport App has been tested using DJI Phantom 4, Mavic Pro and Spark drones. DJI, Phantom, Mavic and Spark are trademarks of SZ DJI Technology Co., Ltd. HTC VIVE is a trademark of HTC Corporation. Oculus and Rift are trademarks of Facebook Technologies, LLC. All other product names, logos and brands are property of their respective owners.