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 vor der Verwendung auf produktiven Webseiten.
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
XRSpaceObjekten, für die die Posen abgerufen werden sollen. baseSpace-
Ein
XRSpaceObjekt, 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 gegebenenbaseSpacegefü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
spacesmultipliziert 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
Loading…