VRDisplay
已弃用:此特性不再推荐。虽然某些浏览器可能仍然支持它,但它可能已经从相关的网络标准中删除,可能正在删除过程中,或者可能仅为兼容性目的而保留。请避免使用它,如果可能,请更新现有代码;请参阅本页底部的兼容性表格以指导您的决策。请注意,此特性可能随时停止工作。
非标准:此特性未标准化。我们不建议在生产环境中使用非标准特性,因为它们浏览器支持有限,并且可能会更改或被移除。但是,在没有标准选项的特定情况下,它们可以是合适的替代方案。
WebVR API 的 VRDisplay 接口代表此 API 支持的任何 VR 设备。它包括设备 ID 和描述等通用信息,以及用于开始呈现 VR 场景、检索眼睛参数和显示功能以及其他重要功能的方法。
注意: 此接口是旧版 WebVR API 的一部分。它已被 WebXR Device API 取代。
可以通过调用 Navigator.getVRDisplays() 方法返回所有连接的 VR 设备的数组。
实例属性
VRDisplay.capabilities只读 已废弃 非标准-
返回一个
VRDisplayCapabilities对象,该对象指示VRDisplay的各种功能。 VRDisplay.depthFar已废弃 非标准-
获取和设置定义眼睛视图截锥体远平面的 z 深度,即场景最远的可见边界。
VRDisplay.depthNear已废弃 非标准-
获取和设置定义眼睛视图截锥体近平面的 z 深度,即场景最近的可见边界。
VRDisplay.displayId只读 已废弃 非标准-
返回此特定 VRDisplay 的标识符,该标识符也用作 Gamepad API 中的关联点(参见
Gamepad.displayId)。 VRDisplay.displayName只读 已废弃 非标准-
返回一个人类可读的名称,用于标识
VRDisplay。 VRDisplay.isConnected只读 已废弃 非标准-
返回一个布尔值,指示
VRDisplay是否连接到计算机。 VRDisplay.isPresenting只读 已废弃 非标准-
返回一个布尔值,指示
VRDisplay当前是否正在通过它呈现内容。 VRDisplay.stageParameters只读 已废弃 非标准-
如果
VRDisplay能够支持房间尺度体验,则返回一个包含房间尺度参数的VRStageParameters对象。
实例方法
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 的一部分,该 API 已被 WebXR Device API 取代。它不再有望成为标准。
在所有浏览器都实现新的 WebXR API 之前,建议依靠 A-Frame、Babylon.js 或 Three.js 等框架,或 polyfill 来开发可在所有浏览器上运行的 WebXR 应用程序。有关更多信息,请阅读 Meta 的从 WebVR 移植到 WebXR 指南。
浏览器兼容性
加载中…