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
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 gegebenenbaseSpace
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 intransforms
.
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.
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