HMDVRDevice: setFieldOfView() 方法

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

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

HMDVRDevice 接口的 setFieldOfView() 方法可用于一次设置一个眼睛或同时设置双眼的视场。

语法

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),这样如果需要,之后可以将其重置。

浏览器兼容性

另见