VRDisplayCapabilities
已弃用:此特性不再推荐。虽然某些浏览器可能仍然支持它,但它可能已经从相关的网络标准中删除,可能正在删除过程中,或者可能仅为兼容性目的而保留。请避免使用它,如果可能,请更新现有代码;请参阅本页底部的兼容性表格以指导您的决策。请注意,此特性可能随时停止工作。
非标准:此特性未标准化。我们不建议在生产环境中使用非标准特性,因为它们浏览器支持有限,并且可能会更改或被移除。但是,在没有标准选项的特定情况下,它们可以是合适的替代方案。
VRDisplayCapabilities 接口是 WebVR API 的一部分,用于描述 VRDisplay 的能力。其属性可用于执行 VR 设备能力测试,例如,是否能够返回位置信息。
注意: 此接口是旧版 WebVR API 的一部分。它已被 WebXR Device API 取代。
可以通过 VRDisplay.capabilities 属性访问此接口。
实例属性
VRDisplayCapabilities.canPresent已弃用 只读 非标准-
返回一个布尔值,指示 VR 显示器是否能够呈现内容(例如,通过 HMD)。
VRDisplayCapabilities.hasExternalDisplay已弃用 只读 非标准-
返回一个布尔值,指示 VR 显示器是否与设备的主显示器分离。
VRDisplayCapabilities.hasOrientation已弃用 只读 非标准-
返回一个布尔值,指示 VR 显示器是否可以跟踪并返回方向信息。
VRDisplayCapabilities.hasPosition已弃用 只读 非标准-
返回一个布尔值,指示 VR 显示器是否可以跟踪并返回位置信息。
VRDisplayCapabilities.maxLayers已弃用 只读 非标准-
返回一个数字,表示 VR 显示器一次可以呈现的
VRLayerInit的最大数量(例如,VRDisplay.requestPresent()可以接受的数组的最大长度)。
示例
function reportDisplays() {
navigator.getVRDisplays().then((displays) => {
displays.forEach((display, i) => {
const cap = display.capabilities;
// cap is a VRDisplayCapabilities object
const listItem = document.createElement("li");
listItem.innerText = `
VR Display ID: ${display.displayId}
VR Display Name: ${display.displayName}
Display can present content: ${cap.canPresent}
Display is separate from the computer's main display: ${cap.hasExternalDisplay}
Display can return position info: ${cap.hasPosition}
Display can return orientation info: ${cap.hasOrientation}
Display max layers: ${cap.maxLayers}`;
listItem.insertBefore(
document.createElement("strong"),
listItem.firstChild,
).textContent = `Display ${i + 1}`;
list.appendChild(listItem);
});
});
}
规范
此接口是旧的 WebVR API 的一部分,该 API 已被 WebXR Device API 取代。它已不再是标准的制定方向。
在所有浏览器都实现新的 WebXR API 之前,建议依靠 A-Frame、Babylon.js 或 Three.js 等框架,或 polyfill 来开发可在所有浏览器上运行的 WebXR 应用程序。有关更多信息,请阅读 Meta 的从 WebVR 移植到 WebXR 指南。
浏览器兼容性
加载中…