XRPose.emulatedPosition

Draft
This page is not complete.

The emulatedPosition read-only attribute of the XRPose interface is a Boolean value indicating whether or not both the the position component of the pose's transform is directly taken from the XR device, or it's simulated or computed based on other sources.

Syntax

let emulated = xrPose.emulatedPosition;

Value

A Boolean which is true if the pose's position is computed based on estimates or is derived from sources other than direct sensor data. If the position is precisely gbased on direct sensor inputs, the value is false.

Usage notes

There are two basic categories of XR tracking systems. A basic XR headset provides three degrees of freedom (3DoF), tracking the pitch, yaw, and roll of the user's head. No information is available about movement forward, backward, or to the sides. Any such data is taken from other sources, such as keyboard or mouse inputs or game controllers. As such, the position is considered to be emulated, so the emulatedPosition property is true.

Contrariwise, XR devices which can also track movement forward and backward as well as laterally—six degree of freedom (6DoF) devices—don't require any information from other sources to determine the user's position, so the value of emulatedPosition is false.

The same notion applies not just to the user's head, but to any object. A hand controller that can directly report its position would have a value of false for this property as well. If its position is computed as an offset from another object (such as by basing it off the model representing the user's body), then this value is true.

This information is important because devices whose position is emulated are prone to their offset drifting relative to the real world space over time. This is because emulating a position based on accelerometer inputs and models tends to introduce minor errors which accumulate over time.

Specifications

Specification Status Comment
WebXR Device API
The definition of 'XRPose.emulatedPosition' in that specification.
Working Draft Initial definition.

Browser compatibility

Update compatibility data on GitHub
DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
emulatedPositionChrome Full support 79Edge Full support 79Firefox No support NoIE No support NoOpera No support NoSafari No support NoWebView Android No support NoChrome Android Full support 79Firefox Android No support NoOpera Android No support NoSafari iOS No support NoSamsung Internet Android Full support 11.2

Legend

Full support  
Full support
No support  
No support