XRFrame:fillJointRadii() 方法

实验性: 这是一个 实验性技术
在生产环境中使用此功能前,请仔细查看 浏览器兼容性表格

安全上下文:此功能仅在 安全上下文(HTTPS)中可用,且仅在部分或全部 支持的浏览器 中可用。

fillJointRadii()XRFrame 接口的方法,它使用 Float32Array 填充一组手部关节空间的半径,如果所有空间都成功,则返回 true

语法

js
fillJointRadii(jointSpaces, radii)

参数

jointSpaces

一个需要获取半径的 XRJointSpace 对象数组。

radii

一个 Float32Array,用于填充 jointSpaces 的半径。

返回值

一个布尔值,指示所有空间是否都有有效的姿态。

异常

TypeError

如果 jointSpaces 的长度大于 radii 中元素的数量,则抛出此异常。

示例

获取手的全部关节半径

为了高效地获取每个 XRHand 的所有 25 个关节的半径,可以使用 fillJointRadii() 方法。

js
let radii1 = new Float32Array(25);
let radii2 = new Float32Array(25);

function onXRFrame(xrFrame, renderer) {
  let hand1 = xrFrame.session.inputSources[0].hand;
  xrFrame.fillJointRadii(hand1.values(), radii1);
  let hand2 = xrFrame.session.inputSources[1].hand;
  xrFrame.fillJointRadii(hand2.values(), radii2);
}

规范

规范
WebXR 手部输入模块 - 级别 1
# dom-xrframe-filljointradii

浏览器兼容性

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

另请参阅