VRPose:linearAcceleration 属性

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

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

VRPose 接口的linearAcceleration只读属性返回一个数组,该数组表示当前时间戳处 VRDisplay 的线性加速度向量,单位为米每秒平方。

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

换句话说,就是传感器沿 xyz 轴的当前加速度。

一个 Float32Array,如果 VR 传感器无法提供线性加速度数据,则为 null

示例

js
// rendering loop for a VR scene
function drawVRScene() {
  // WebVR: Request the next frame of the animation
  vrSceneFrame = vrDisplay.requestAnimationFrame(drawVRScene);

  // Populate frameData with the data of the next frame to display
  vrDisplay.getFrameData(frameData);

  // Retrieve the linear acceleration values for use in rendering
  // curFramePose is a VRPose object
  const curFramePose = frameData.pose;
  const linAcc = curFramePose.linearAcceleration;
  const lax = linAcc[0];
  const lay = linAcc[1];
  const laz = linAcc[2];

  // render the scene
  // …

  // WebVR: submit the rendered frame to the VR display
  vrDisplay.submitFrame();
}

规范

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

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

浏览器兼容性

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

另请参阅