BodyNavCircleTrans2

BodyNav

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.

UX Guidelines

Best practices for applying BodyNav to your own games & application user experiences.

LEARN MORE >

Test Drive

OpenVR driver allows you to experience freedom from motion sickness in popular Vive & Rift games.

LEARN MORE >

Easy Licensing

Join our developer program to receive tools and rights to use BodyNav patented technology.

LEARN MORE >

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

Pitch-Yaw-Roll
Go Forward
Go Backward
Strafe Left
Strafe Right
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.

Looking Around

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 Test Drive for OpenVR

INSTRUCTIONS FOR USE WITH COMPATIBLE GAMES & DEVICES

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

  1. Download, unzip and run the installer.
  2. Launch SteamVR.
  3. Press System Button on controller to open SteamVR dashboard.  BodyNav Test Drive icon should appear just above time display.
  4. Open a compatible game or app. (See catalog of tested apps; start with something simple like COMPOUND or DOOM VFR)
  5. Enable BodyNav in control panel.  (Notice that rendering of touch location on virtual touchpad provides direct feedback for body posture)
  6. 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)
  7. 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.)

BASIC CONFIGURATION

Enable_Control

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.]

Input_Settings

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.

Disable_Controls

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.

Acceleration_Setting

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_Angles

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_Angles

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.

TIPPING LEFT/RIGHT

Left_Angles

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_Angles

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.

MANAGING PROFILES

Profile_Settings

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

The Elder Scrolls V: Skyrim VR
Compatible with HTC Vive
Testing in process on Oculus Rift

DOOM VFR
Compatible with HTC Vive
Testing in process on Oculus Rift

MARVEL Powers United VR
Compatible with HTC Vive using Revive
Testing in process on Oculus Rift

The Exorcist: Legion VR
Compatible with HTC Vive
(note: set speed to high)
Testing in process on Oculus Rift

L.A. Noire: The VR Case Files
Compatible with HTC Vive
Testing in process on Oculus Rift

COMPOUND
Compatible with HTC Vive
Testing in process on Oculus Rift

REC Room
Compatible with HTC Vive
Testing in process on Oculus Rift

VR Chat
Compatible with HTC Vive
(note: use “Touchpad (Pressed)” mode)
Testing in process on Oculus Rift

Fallout 4 VR
Compatible with HTC Vive
(note: requires compensation for controller orientation since game doesn’t offer HMD orientation mode)
Testing in process on Oculus Rift

ONWARD
Compatible with HTC Vive
(note: requires compensation for controller orientation since game doesn’t offer HMD orientation mode)
Testing in process on Oculus Rift


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.