VREyeParameters

已弃用:此特性不再推荐。虽然某些浏览器可能仍然支持它,但它可能已经从相关的网络标准中删除,可能正在删除过程中,或者可能仅为兼容性目的而保留。请避免使用它,如果可能,请更新现有代码;请参阅本页底部的兼容性表格以指导您的决策。请注意,此特性可能随时停止工作。

非标准:此特性未标准化。我们不建议在生产环境中使用非标准特性,因为它们浏览器支持有限,并且可能会更改或被移除。但是,在没有标准选项的特定情况下,它们可以是合适的替代方案。

VREyeParameters 接口是 WebVR API 的一部分,它包含了正确渲染给定眼睛的场景所需的所有信息,包括视场信息。

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

可以通过 VRDisplay.getEyeParameters() 方法访问此接口。

警告:此接口中的值不应用于计算视图或投影矩阵。为了确保最广泛的硬件兼容性,请使用 VRFrameData 提供的矩阵。

实例属性

VREyeParameters.offset 已弃用 只读 非标准

表示用户两眼中心点到该眼睛中心点的偏移量,单位为米。

VREyeParameters.fieldOfView 已弃用 只读 非标准

描述眼睛当前的视场,这可能会随着用户调整瞳距 (IPD) 而变化。

VREyeParameters.maximumFieldOfView 已弃用 只读 非标准

描述当前眼睛支持的最大视场。

VREyeParameters.minimumFieldOfView 已弃用 只读 非标准

描述当前眼睛支持的最小视场。

VREyeParameters.renderWidth 已弃用 只读 非标准

描述每个眼睛视口推荐的渲染目标宽度(以像素为单位)。

VREyeParameters.renderHeight 已弃用 只读 非标准

描述每个眼睛视口推荐的渲染目标高度(以像素为单位)。

示例

js
navigator.getVRDisplays().then((displays) => {
  // If a display is available, use it to present the scene
  vrDisplay = displays[0];
  console.log("Display found");
  // Starting the presentation when the button is clicked:
  //   It can only be called in response to a user gesture
  btn.addEventListener("click", () => {
    vrDisplay.requestPresent([{ source: canvas }]).then(() => {
      console.log("Presenting to WebVR display");

      // Set the canvas size to the size of the vrDisplay viewport

      const leftEye = vrDisplay.getEyeParameters("left");
      const rightEye = vrDisplay.getEyeParameters("right");

      canvas.width = Math.max(leftEye.renderWidth, rightEye.renderWidth) * 2;
      canvas.height = Math.max(leftEye.renderHeight, rightEye.renderHeight);

      drawVRScene();
    });
  });
});

规范

此接口是旧的 WebVR API 的一部分,该 API 已被 WebXR Device API 取代。它已不再是标准的制定方向。

在所有浏览器都实现新的 WebXR API 之前,建议依靠 A-FrameBabylon.jsThree.js 等框架,或 polyfill 来开发可在所有浏览器上运行的 WebXR 应用程序。有关更多信息,请阅读 Meta 的从 WebVR 移植到 WebXR 指南。

浏览器兼容性

另见