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:
- Der Versatz und die Orientierung relativ zum übergeordneten Referenzraum beim Erstellen eines neuen Referenzraums mit
getOffsetReferenceSpace()
. - Der
transform
einerXRView
. - Der
transform
einerXRPose
. - Die
transform
-Eigenschaft desXRReferenceSpaceEvent
-Ereignisses, wie imreset
-Ereignis, das durch einenXRReferenceSpace
empfangen wird.
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
Nur lesbar-
Ein
DOMPointReadOnly
, der einen dreidimensionalen Punkt in Metern angibt und die Übersetzungskomponente der Transformation beschreibt. Diew
-Eigenschaft ist immer1.0
. XRRigidTransform.orientation
Nur lesbar-
Ein
DOMPointReadOnly
, der ein Einheitsquaternion enthält, das die Rotationskomponente der Transformation beschreibt. Als Einheitsquaternion ist seine Länge stets auf1.0
normalisiert. XRRigidTransform.matrix
Nur lesbar-
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
Nur lesbar-
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.
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