HMDVRDevice - 代表头戴式显示器

已过时
此功能已过时。虽然它可能仍在某些浏览器中工作,但是不鼓励使用,因为它可能随时被删除。尽量避免使用它。

这是一个实验中的功能
此功能某些浏览器尚在开发中,请参考浏览器兼容性表格以得到在不同浏览器中适合使用的前缀。由于该功能对应的标准文档可能被重新修订,所以在未来版本的浏览器中该功能的语法和行为可能随之改变。

HMDVRDeviceWebVR API 的接口,代表头戴式显示器,提供对每只眼睛的信息访问,并允许我们修改当前视野。

方法

HMDVRDevice.getEyeParameters()

返回指定为其参数(leftright)的眼睛的当前参数 - 例如视图信息 - 存储在 VREyeParameters 对象中。

HMDVRDevice.setFieldOfView()

设置双眼的视野。

属性

该接口不定义其自身的任何属性,但它继承了其父接口 VRDevice 的属性。

VRDevice.hardwareUnitId 只读

返回该 VRDevice 所属的整个硬件单元的不同硬件 ID。属于同一物理硬件的所有设备都具有相同的 hardwareUnitId

VRDevice.deviceId 只读

返回该特定 VRDevice 的 ID。在浏览器重新启动时,ID 不会更改,因此允许根据它保存配置数据。

VRDevice.deviceName 只读

一个人类可读的名称,用于标识 VRDevice

实例

以下示例取自 WebVR 规范,找到第一个可用的 HMDVRDevice(如果有的话)及其关联的 PositionSensorVRDevice

navigator.getVRDevices().then(function(devices) {
  for (var i = 0; i < devices.length; ++i) {
    if (devices[i] instanceof HMDVRDevice) {
      gHMD = devices[i];
      break;
    }
  }

  if (gHMD) {
    for (var i = 0; i < devices.length; ++i) {
      if (devices[i] instanceof PositionSensorVRDevice && devices[i].hardwareUnitId === gHMD.hardwareUnitId) {
        gPositionSensor = devices[i];
        break;
      }
    }
  }
});

规范

规范 状态 备注
Unknown
HMDVRDevice 的定义
Unknown 初始定义

桌面浏览器兼容性

特性 Chrome Edge Firefox Internet Explorer Opera Safari
基础支持 不支持 不支持 392 不支持 不支持 不支持
getEyeParameters 不支持 不支持 392 不支持 不支持 不支持
setFieldOfView 不支持 不支持 392 不支持 不支持 不支持

移动浏览器兼容性

特性 Android Chrome for Android Edge mobile Firefox for Android IE mobile Opera Android iOS Safari
基础支持 不支持 621 不支持

443

39 — 442

未知 不支持 不支持
getEyeParameters 不支持 621 不支持

443

39 — 442

未知 不支持 不支持
setFieldOfView 不支持 621 不支持

443

39 — 442

未知 不支持 不支持

1. Chrome 中的支持目前是实验性的。要查找有关 Chrome 的 WebVR 实现状态(包括支持版本)的信息,请查看 Brandon Jones 的将 VR 带到 Chrome

2. Firefox 中默认禁用对该功能的支持。要在 Firefox Nightly/Developer 版本中启用 WebVR 支持,您可以转到 about:config 并启用 dom.vr* 配置。但是,更好的选择是安装 WebVR Enabler Add-on,它为您执行该操作并设置环境的其他必要部分。

3. 目前,在 Nightly/Aurora 版本中默认启用 dom.vr* 配置。

相关链接