XRPose

Limited availability

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

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

XRPose ist ein WebXR API-Interface, das eine Position und Orientierung im 3D-Raum darstellt, relativ zu dem XRSpace, in dem es sich befindet. Der XRSpace—entweder ein XRReferenceSpace oder ein XRBoundedReferenceSpace—definiert das Koordinatensystem, das für die Pose verwendet wird und, im Fall eines XRViewerPose, dessen zugrundeliegende Ansichten.

Um das XRPose für den XRSpace zu erhalten, das als lokales Koordinatensystem eines Objekts verwendet wird, rufen Sie XRFrame.getPose() auf, und geben Sie diesen lokalen XRSpace und den Raum an, in den Sie umwandeln möchten:

js
thePose = xrFrame.getPose(localSpace, baseSpace);

Die Pose für einen Betrachter (oder eine Kamera) wird durch die XRViewerPose-Unterklasse von XRPose dargestellt. Diese wird mit XRFrame.getViewerPose() anstelle von getPose() erhalten, indem ein Referenzraum spezifiziert wird, der angepasst wurde, um den Knoten so zu positionieren und auszurichten, dass die gewünschte Betrachtungsposition und -winkel bereitgestellt werden:

js
viewerPose = xrFrame.getViewerPose(adjReferenceSpace);

Hierbei ist adjReferenceSpace ein Referenzraum, der unter Verwendung des Basisrahmens des Referenzrahmens und aller Anpassungen, die zur Positionierung des Betrachters aufgrund von Bewegungen oder Rotationen erforderlich sind, aktualisiert wurde, die von einer anderen Quelle als dem XR-Gerät bereitgestellt werden, wie zum Beispiel Eingaben von Tastatur oder Maus.

Siehe den Artikel Bewegung, Orientierung und Bewegung für weitere Informationen und ein Beispiel mit ausführlichen Erklärungen zum Ablauf.

Instanzeigenschaften

XRPose.angularVelocity Nur lesbar

Ein DOMPointReadOnly, der die Winkelgeschwindigkeit in Radianten pro Sekunde relativ zum Basis-XRSpace beschreibt.

XRPose.emulatedPosition Nur lesbar

Ein boolescher Wert, der false ist, wenn die von transform angegebene Position und Orientierung direkt von einem vollwertigen XR-Gerät mit sechs Freiheitsgraden (6DoF) bezogen wird (also einem Gerät, das nicht nur die Neigung, Gier und Rollbewegung des Kopfes, sondern auch die vorwärts-, rückwärts- und seitwärtsgerichtete Bewegung des Betrachters verfolgt). Wenn eine Komponente des transform berechnet oder künstlich erstellt wird (z. B. durch die Verwendung von Maus- oder Tastatursteuerungen, um sich durch den Raum zu bewegen), ist dieser Wert stattdessen true, was darauf hinweist, dass der transform teilweise softwarebasiert emuliert ist.

XRPose.linearVelocity Nur lesbar

Ein DOMPointReadOnly, der die lineare Geschwindigkeit in Metern pro Sekunde relativ zum Basis-XRSpace beschreibt.

XRPose.transform Nur lesbar

Ein XRRigidTransform, das die Position und Orientierung der Pose relativ zum Basis-XRSpace bereitstellt.

Spezifikationen

Specification
WebXR Device API
# xrpose-interface

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch