VRDisplay: resetPose() 方法

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

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

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

注意:此方法是旧版 WebVR API 的一部分。它已被 WebXR Device 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 Device API 取代。它不再是标准化的方向。

在所有浏览器都实现新的 WebXR API 之前,建议依靠 A-FrameBabylon.jsThree.js 等框架,或 polyfill 来开发可在所有浏览器上运行的 WebXR 应用程序。有关更多信息,请阅读 Meta 的从 WebVR 移植到 WebXR 指南。

浏览器兼容性

另见