The fillPoses()
method of the XRFrame
interface populates a Float32Array
with the matrices of the poses relative to a given base space and returns true
if successful for all spaces.
fillPoses(spaces, baseSpace, transforms)
A boolean indicating if all of the spaces have a valid pose.
To efficiently get all poses for all 25 joints of each XRHand
, you can use the fillPoses()
method.
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);
}