HMDVRDevice

Deprecated

Avoid using this feature in new projects. This feature may be a candidate for removal from web standards or browsers.

Non-standard: This feature is not standardized. We do not recommend using non-standard features in production, as they have limited browser support, and may change or be removed. However, they can be a suitable alternative in specific cases where no standard option exists.

The HMDVRDevice interface of the WebVR API represents a head mounted display, providing access to information about each eye, and allowing us to modify the current field of view.

Instance methods

HMDVRDevice.getEyeParameters()

Returns current parameters for the eye specified as its argument ("left" or "right") — such as field of view information — stored in a VREyeParameters object.

HMDVRDevice.setFieldOfView()

Sets the field of view for both eyes.

Instance properties

This interface doesn't define any properties of its own, but it does inherit the properties of its parent interface, VRDisplay.

VRDisplay.hardwareUnitId Read only

Returns the distinct hardware ID for the overall hardware unit that this VRDevice is a part of. All devices that are part of the same physical piece of hardware will have the same hardwareUnitId.

VRDisplay.displayId Read only

Returns the ID for this specific VRDevice. The ID shouldn't change across browser restarts, allowing configuration data to be saved based on it.

VRDisplay.displayName Read only

A human-readable name to identify the VRDevice.

Examples

The following example, taken from the WebVR spec, finds the first available HMDVRDevice and its associated PositionSensorVRDevice, if it has one.

js
navigator.getVRDevices().then((devices) => {
  for (const device of devices) {
    if (device instanceof HMDVRDevice) {
      gHMD = device;
      break;
    }
  }

  if (gHMD) {
    for (const device of devices) {
      if (
        device instanceof PositionSensorVRDevice &&
        device.hardwareUnitId === gHMD.hardwareUnitId
      ) {
        gPositionSensor = devices[i];
        break;
      }
    }
  }
});

Browser compatibility

See also