web api instance method
XRFrame: fillPoses() method
Limited availabilitySecure context
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.
Syntax
fillPoses(spaces, baseSpace, transforms)
Parameters
spaces- : An array of
XRSpaceobjects for which to get the poses.
- : An array of
baseSpace- : An
XRSpaceobject to use as the base or origin for the relative position and orientation.
- : An
transforms- : A
Float32Arraythat is populated with the matrices of the poses relative to the givenbaseSpace.
- : A
Return value
A boolean indicating if all of the spaces have a valid pose.
Exceptions
TypeError- : Thrown if the length of
spacesmultiplied by 16 is larger than the number of elements intransforms.
- : Thrown if the length of
Examples
Obtaining poses for all joints of a hand
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);
}
Specifications
SpecificationsStandards references are available on the canonical MDN page.
Browser compatibility
Browser compatibilityCompatibility data is available on the canonical MDN page.