XRFrame: fillPoses() Methode

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Experimentell: Dies ist eine experimentelle Technologie
Überprüfen Sie die Browser-Kompatibilitätstabelle sorgfältig, bevor Sie diese produktiv verwenden.

Sicherer Kontext: Diese Funktion ist nur in sicheren Kontexten (HTTPS) in einigen oder allen unterstützenden Browsern verfügbar.

Die fillPoses() Methode der XRFrame Schnittstelle füllt ein Float32Array mit den Matrizen der Posen relativ zu einem gegebenen Basisraum und gibt true zurück, wenn es für alle Räume erfolgreich ist.

Syntax

js
fillPoses(spaces, baseSpace, transforms)

Parameter

spaces

Ein Array von XRSpace Objekten, für die die Posen abgerufen werden sollen.

baseSpace

Ein XRSpace Objekt, das als Basis oder Ursprung für die relative Position und Orientierung verwendet wird.

transforms

Ein Float32Array, das mit den Matrizen der Posen relativ zum gegebenen baseSpace gefüllt wird.

Rückgabewert

Ein boolescher Wert, der angibt, ob alle Räume eine gültige Pose haben.

Ausnahmen

TypeError

Wird ausgelöst, wenn die Länge von spaces multipliziert mit 16 größer ist als die Anzahl der Elemente in transforms.

Beispiele

Erhalten von Posen für alle Gelenke einer Hand

Um effizient alle Posen für alle 25 Gelenke jeder XRHand zu erhalten, können Sie die fillPoses() Methode verwenden.

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);
}

Spezifikationen

Specification
WebXR Hand Input Module - Level 1
# dom-xrframe-fillposes

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch