XRFrame: fillJointRadii() 方法

可用性有限

此特性不是基线特性,因为它在一些最广泛使用的浏览器中不起作用。

实验性: 这是一项实验性技术
在生产中使用此技术之前,请仔细检查浏览器兼容性表格

安全上下文: 此功能仅在安全上下文(HTTPS)中可用,且支持此功能的浏览器数量有限。

XRFrame 接口的 fillJointRadii() 方法用于使用一系列手部关节空间的半径填充 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 Hand Input 模块 - Level 1
# dom-xrframe-filljointradii

浏览器兼容性

另见