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

瀏覽器相容性

另見