VRDisplay

已弃用:此功能不再推荐。虽然一些浏览器可能仍然支持它,但它可能已从相关的 Web 标准中删除,可能正在被移除,或者可能仅出于兼容性目的而保留。避免使用它,如果可能,请更新现有代码;查看此页面底部的 兼容性表格 来指导您的决策。请注意,此功能可能随时停止工作。

非标准:此功能是非标准的,且不在标准化轨道上。不要在面向 Web 的生产网站上使用它:它不会对所有用户都起作用。不同实现之间可能存在很大差异,行为也可能在将来发生改变。

VRDisplayWebVR API 中的一个接口,它代表了该 API 支持的任何 VR 设备。它包含通用信息,例如设备 ID 和描述,以及用于开始呈现 VR 场景、检索眼睛参数和显示功能,以及其他重要功能的方法。

注意:此接口是旧版 WebVR API 的一部分。它已被 WebXR 设备 API 取代。

可以通过调用 Navigator.getVRDisplays() 方法返回所有连接的 VR 设备的数组。

实例属性

VRDisplay.capabilities 只读 已弃用 非标准

返回一个 VRDisplayCapabilities 对象,指示 VRDisplay 的各种功能。

VRDisplay.depthFar 已弃用 非标准

获取和设置定义 眼视图截头体 远平面的 z 深度,即场景中最远可见边界。

VRDisplay.depthNear 已弃用 非标准

获取和设置定义 眼视图截头体 近平面的 z 深度,即场景中最近可见边界。

VRDisplay.displayId 只读 已弃用 非标准

返回此特定 VRDisplay 的标识符,该标识符也用作 游戏手柄 API 中的关联点(参见 Gamepad.displayId)。

VRDisplay.displayName 只读 已弃用 非标准

返回一个人类可读的名称来标识 VRDisplay

VRDisplay.isConnected 只读 已弃用 非标准

返回一个布尔值,指示 VRDisplay 是否连接到计算机。

VRDisplay.isPresenting 只读 已弃用 非标准

返回一个布尔值,指示 VRDisplay 当前是否正在通过它呈现内容。

VRDisplay.stageParameters 只读 已弃用 非标准

返回一个 VRStageParameters 对象,包含房间尺度参数(如果 VRDisplay 能够支持房间尺度体验)。

实例方法

VRDisplay.getEyeParameters() 已弃用 非标准

返回包含指定眼睛的眼部参数的 VREyeParameters 对象。

VRDisplay.getFrameData() 已弃用 非标准

接受一个 VRFrameData 对象,并用渲染当前帧所需的信息填充它。

VRDisplay.getImmediatePose() 已弃用 非标准

返回一个 VRPose 对象,定义 VRDisplay 的当前姿势,不应用预测。这不再需要,并且已从规范中删除。

VRDisplay.getLayers() 已弃用 非标准

返回 VRDisplay 当前呈现的层。

VRDisplay.getPose() 已弃用 非标准

返回一个 VRPose 对象,定义 VRDisplay 的未来预测姿势,它将在当前帧实际呈现时出现。此方法已弃用 - 相反,您应该使用 VRDisplay.getFrameData(),它也提供一个 VRPose 对象。

VRDisplay.resetPose() 已弃用 非标准

重置此 VRDisplay 的姿势,将当前 VRPose.positionVRPose.orientation 视为“原点/零”值。

VRDisplay.cancelAnimationFrame() 已弃用 非标准

一个特殊实现的 Window.cancelAnimationFrame,它允许用 VRDisplay.requestAnimationFrame() 注册的回调函数被注销。

VRDisplay.requestAnimationFrame() 已弃用 非标准

一个特殊实现的 Window.requestAnimationFrame,包含一个回调函数,该函数将在每次渲染 VRDisplay 呈现的新帧时被调用。

VRDisplay.requestPresent() 已弃用 非标准

开始 VRDisplay 呈现场景。

VRDisplay.exitPresent() 已弃用 非标准

停止 VRDisplay 呈现场景。

VRDisplay.submitFrame() 已弃用 非标准

捕获当前呈现的 VRLayerInit 状态,并在 VRDisplay 上显示它。

示例

js
if (navigator.getVRDisplays) {
  console.log("WebVR 1.1 supported");
  // Then get the displays attached to the computer
  navigator.getVRDisplays().then((displays) => {
    // If a display is available, use it to present the scene
    if (displays.length > 0) {
      vrDisplay = displays[0];
      // Now we have our VRDisplay object and can do what we want with it
    }
  });
}

注意:您可以在 raw-webgl-example 中查看完整的代码。

规范

此接口是旧版 WebVR API 的一部分,已被 WebXR 设备 API 取代。它不再是标准化进程的一部分。

在所有浏览器都实现新的 WebXR API 之前,建议依赖框架(如 A-FrameBabylon.jsThree.js),或 polyfill,来开发将在所有浏览器中工作的 WebXR 应用程序 [1]

浏览器兼容性

BCD 表格仅在浏览器中加载

另请参阅