VREyeParameters

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

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

VREyeParametersWebVR API的接口,它表示正确渲染给定眼睛场景所需的所有信息,包括视野信息。

注意:此接口是旧版WebVR API的一部分。它已被WebXR 设备 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 设备 API取代。它不再有望成为标准。

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

浏览器兼容性

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

另请参阅