VRDisplay:resetPose() 方法

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

非标准: 此功能是非标准的,并且不在标准轨道上。请勿在面向 Web 的生产站点上使用它:它不会对每个用户都起作用。实现之间也可能存在很大的不兼容性,并且行为将来可能会发生变化。

VRDisplay 接口的resetPose() 方法重置 VRDisplay 的姿态,将其当前的VRPose.positionVRPose.orientation 视为“原点/零值”。

注意:此方法是旧版 WebVR API 的一部分。它已被 WebXR 设备 API 取代。

在调用 resetPost() 后,从 VRDisplay.getPose()/VRDisplay.getImmediatePose() 返回的未来姿态将描述相对于上次调用 resetPose()VRDisplay 位置的位置,并将上次调用 resetPose() 时显示器的偏航视为向前方向。

当调用 resetPose() 时,VRDisplay 报告的横滚和俯仰不会改变,因为它们相对于重力。调用 resetPose() 可能会更改 VRStageParameters.sittingToStandingTransform 矩阵。

语法

js
resetPose()

参数

无。

返回值

无 (undefined)。

示例

js
// Assuming vrDisplay already contains a VRDisplay object,
// and we have a <button> referenced inside btn
btn.addEventListener("click", () => {
  vrDisplay.resetPose();
  console.log("Current pose set as origin/center");
});

规范

此方法是旧版 WebVR API 的一部分,已被 WebXR 设备 API 取代。它不再有望成为标准。

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

浏览器兼容性

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

另请参阅