XRFrame:fillPoses() 方法
XRFrame 介面的 fillPoses() 方法會使用相對於給定基空間 (base space) 的姿勢矩陣填充一個 Float32Array,並在成功填充所有空間後返回 true。
語法
js
fillPoses(spaces, baseSpace, transforms)
引數
空格-
要獲取姿勢的
XRSpace物件陣列。 baseSpace-
一個
XRSpace物件,用作相對位置和方向的基(或原點)。 transforms-
一個
Float32Array,其中填充了相對於給定baseSpace的姿勢矩陣。
返回值
一個布林值,指示所有空間是否都具有有效姿勢。
異常
TypeError-
如果
spaces的長度乘以 16 大於transforms中的元素數量,則會丟擲此異常。
示例
獲取手中所有關節的姿勢
要高效地獲取每個 XRHand 的所有 25 個關節的所有姿勢,可以使用 fillPoses() 方法。
js
let poses1 = new Float32Array(16 * 25);
let poses2 = new Float32Array(16 * 25);
function onXRFrame(xrFrame, renderer) {
let hand1 = xrFrame.session.inputSources[0].hand;
xrFrame.fillPoses(hand1.values(), renderer.referenceSpace, poses1);
let hand2 = xrFrame.session.inputSources[1].hand;
xrFrame.fillPoses(hand2.values(), renderer.referenceSpace, poses2);
}
規範
| 規範 |
|---|
| WebXR Hand Input 模組 - Level 1 # dom-xrframe-fillposes |
瀏覽器相容性
載入中…