HMDVRDevice: setFieldOfView() 方法

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

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

setFieldOfView()HMDVRDevice接口的方法,可用于设置一只眼睛或同时设置两只眼睛的视野。

语法

js
setFieldOfView(leftFOV, rightFOV, zNear, zFar)

参数

leftFOV 可选

一个VRFieldOfView对象,定义了左眼的新的视野。如果未指定,则左眼的视野不会改变。

rightFOV 可选

一个VRFieldOfView对象,定义了右眼的新的视野。如果未指定,则右眼的视野不会改变。

zNear 可选

眼睛到视野最近点的距离。最靠近的东西仍然在视野中。如果未指定,则使用默认值 - 0.01

zFar 可选

眼睛到视野最远点的距离。最远的东西仍然在视野中。如果未指定,则使用默认值 - 10000.0

返回值

无 (undefined).

示例

以下简单示例展示了一个函数,可用于使用四个指定的度数值(向上、向右、向下和向左)来设置自定义视野。VRFieldOfView()构造函数用于从提供的数值创建VRFieldOfView对象,然后将该对象馈送到setFieldOfView()方法中(在这种情况下,始终使用默认的zNearzFar值)。

js
function setCustomFOV(up, right, down, left) {
  const testFOV = new VRFieldOfView(up, right, down, left);

  gHMD.setFieldOfView(testFOV, testFOV, 0.01, 10000.0);

  const lEye = gHMD.getEyeParameters("left");
  const rEye = gHMD.getEyeParameters("right");
  console.log(lEye.currentFieldOfView);
  console.log(rEye.currentFieldOfView);
}

注意:在测试时,设置奇怪/很小的视野会导致视图严重混乱。建议先获取当前的视野(使用VREyeParameters.fieldOfView),然后再进行任何重大更改,以便您可以在需要时重置它。

浏览器兼容性

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

另请参阅