XRRigidTransform

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.

Die XRRigidTransform ist eine WebXR API-Schnittstelle, die die 3D-geometrische Transformation beschreibt, die durch eine Position und Orientierung dargestellt wird.

XRRigidTransform wird verwendet, um Transformationen innerhalb der WebXR APIs anzugeben, einschließlich:

Die Verwendung von XRRigidTransform an diesen Stellen statt einfacher Arrays, die die Matrixdaten bereitstellen, hat einen Vorteil. Es berechnet automatisch die Inverse der Transformation und speichert sie sogar zwischen, was nachfolgende Anfragen erheblich schneller macht.

Konstruktor

XRRigidTransform()

Erstellt ein neues XRRigidTransform-Objekt, das eine Transformation darstellt, die eine bestimmte Position und/oder Orientierung anwendet.

Instanzeigenschaften

XRRigidTransform.position Schreibgeschützt

Ein DOMPointReadOnly, der einen dreidimensionalen Punkt in Metern angibt und die Übersetzungskomponente der Transformation beschreibt. Die w-Eigenschaft ist immer 1.0.

XRRigidTransform.orientation Schreibgeschützt

Ein DOMPointReadOnly, der ein Einheitsquaternion enthält, das die Rotationskomponente der Transformation beschreibt. Als Einheitsquaternion ist seine Länge stets auf 1.0 normalisiert.

XRRigidTransform.matrix Schreibgeschützt

Gibt die Transformationsmatrix in Form eines 16-Elemente-Float32Array zurück. Siehe den Abschnitt Matrix Format, um zu verstehen, wie das Array zur Darstellung einer Matrix verwendet wird.

XRRigidTransform.inverse Schreibgeschützt

Gibt ein XRRigidTransform zurück, das die Inverse dieser Transformation ist. Das heißt, wenn sie auf ein Objekt angewendet wird, das zuvor durch die ursprüngliche Transformation transformiert wurde, wird sie die Transformation rückgängig machen und das ursprüngliche Objekt zurückgeben.

Anwendungshinweise

Wenn ein XRRigidTransform interpretiert wird, wird die Orientierung immer vor der Position auf das betroffene Objekt angewendet.

Beispiel

Dieser Codeausschnitt erstellt ein XRRigidTransform, um den Versatz und die Orientierung im Verhältnis zum aktuellen Referenzraum anzugeben, der beim Erstellen eines neuen Referenzraums verwendet werden soll. Anschließend wird die erste Animationsrahmenrückruf beantragt, indem die Methode requestAnimationFrame() der Sitzung aufgerufen wird.

js
xrSession.requestReferenceSpace(refSpaceType).then((refSpace) => {
  xrReferenceSpace = refSpace;
  xrReferenceSpace = xrReferenceSpace.getOffsetReferenceSpace(
    new XRRigidTransform(viewerStartPosition, cubeOrientation),
  );
  animationFrameRequestID = xrSession.requestAnimationFrame(drawFrame);
});

Spezifikationen

Specification
WebXR Device API
# xrrigidtransform-interface

Browser-Kompatibilität

BCD tables only load in the browser