VRDisplay
已弃用:此功能不再推荐。虽然一些浏览器可能仍然支持它,但它可能已从相关的 Web 标准中删除,可能正在被移除,或者可能仅出于兼容性目的而保留。避免使用它,如果可能,请更新现有代码;查看此页面底部的 兼容性表格 来指导您的决策。请注意,此功能可能随时停止工作。
非标准:此功能是非标准的,且不在标准化轨道上。不要在面向 Web 的生产网站上使用它:它不会对所有用户都起作用。不同实现之间可能存在很大差异,行为也可能在将来发生改变。
VRDisplay
是 WebVR 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.position
和VRPose.orientation
视为“原点/零”值。 VRDisplay.cancelAnimationFrame()
已弃用 非标准-
一个特殊实现的
Window.cancelAnimationFrame
,它允许用VRDisplay.requestAnimationFrame()
注册的回调函数被注销。 VRDisplay.requestAnimationFrame()
已弃用 非标准-
一个特殊实现的
Window.requestAnimationFrame
,包含一个回调函数,该函数将在每次渲染VRDisplay
呈现的新帧时被调用。 VRDisplay.requestPresent()
已弃用 非标准-
开始
VRDisplay
呈现场景。 VRDisplay.exitPresent()
已弃用 非标准-
停止
VRDisplay
呈现场景。 VRDisplay.submitFrame()
已弃用 非标准-
捕获当前呈现的
VRLayerInit
状态,并在VRDisplay
上显示它。
示例
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-Frame、Babylon.js 或 Three.js),或 polyfill,来开发将在所有浏览器中工作的 WebXR 应用程序 [1]。
浏览器兼容性
BCD 表格仅在浏览器中加载