VRFieldOfView

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

非标准:此功能是非标准的,并且不在标准跟踪中。请勿在面向 Web 的生产站点上使用它:它不会对每个用户都起作用。实现之间也可能存在很大的不兼容性,并且行为将来可能会发生变化。

VRFieldOfViewWebVR API的接口,它表示由 4 个不同的度数值定义的视野,这些值描述了从中心点看到的视图。

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

实例属性

VRFieldOfView.upDegrees 已弃用 只读 非标准

视野向上延伸的度数。

VRFieldOfView.rightDegrees 已弃用 只读 非标准

视野向右延伸的度数。

VRFieldOfView.downDegrees 已弃用 只读 非标准

视野向下延伸的度数。

VRFieldOfView.leftDegrees 已弃用 只读 非标准

视野向左延伸的度数。

示例

js
const info = document.querySelector("p");
const list = document.querySelector("ul");
let vrDisplay;

if (navigator.getVRDisplays) {
  reportFieldOfView();
} else {
  info.textContent = "WebVR API not supported by this browser.";
}

function reportFieldOfView() {
  navigator.getVRDisplays().then((displays) => {
    vrDisplay = displays[0];
    const lEye = vrDisplay.getEyeParameters("left");
    const rEye = vrDisplay.getEyeParameters("right");
    // lEye and rEye are VREyeParameters objects

    const lFOV = lEye.fieldOfView;
    const rFOV = rEye.fieldOfView;
    // lFOV and rFOV are VRFieldOfView objects

    const listitem1 = document.createElement("li");
    const listitem2 = document.createElement("li");

    listitem1.innerText = `
Offset: ${lEye.offset}
Render width: ${lEye.renderWidth}
Render height: ${lEye.renderHeight}
Up degrees: ${lFOV.upDegrees}
Right degrees: ${lFOV.rightDegrees}
Down degrees: ${lFOV.downDegrees}
Left degrees: ${lFOV.leftDegrees}`;
    listitem1.insertBefore(
      document.createElement("strong"),
      listitem1.firstChild,
    ).textContent = "Left eye parameters";

    listitem2.innerText = `
Offset: ${rEye.offset}
Render width: ${rEye.renderWidth}
Render height: ${rEye.renderHeight}
Up degrees: ${rFOV.upDegrees}
Right degrees: ${rFOV.rightDegrees}
Down degrees: ${rFOV.downDegrees}
Left degrees: ${rFOV.leftDegrees}`;
    listitem2.insertBefore(
      document.createElement("strong"),
      listitem2.firstChild,
    ).textContent = "Right eye parameters";

    list.appendChild(listitem1);
    list.appendChild(listitem2);
  });
}

规范

此接口是旧版WebVR API的一部分,已被WebXR 设备 API取代。它不再有望成为标准。

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

浏览器兼容性

BCD 表格仅在启用 JavaScript 的浏览器中加载。

另请参阅