VRFieldOfView
已弃用:此功能不再推荐。尽管某些浏览器可能仍然支持它,但它可能已从相关的 Web 标准中删除,可能正在被弃用,或者可能仅出于兼容性目的而保留。避免使用它,并尽可能更新现有代码;请参阅此页面底部的兼容性表格,以指导您的决策。请注意,此功能可能随时停止工作。
非标准:此功能是非标准的,并且不在标准跟踪中。请勿在面向 Web 的生产站点上使用它:它不会对每个用户都起作用。实现之间也可能存在很大的不兼容性,并且行为将来可能会发生变化。
VRFieldOfView
是WebVR 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-Frame、Babylon.js或Three.js)或polyfill来开发可在所有浏览器中运行的 WebXR 应用程序[1]。
浏览器兼容性
BCD 表格仅在启用 JavaScript 的浏览器中加载。