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
transformeinerXRView. - Der
transformeinerXRPose. - Die
transform-Eigenschaft desXRReferenceSpaceEvent-Ereignisses, wie imreset-Ereignis, das durch einenXRReferenceSpaceempfangen 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.positionSchreibgeschützt-
Ein
DOMPointReadOnly, der einen dreidimensionalen Punkt in Metern angibt und die Übersetzungskomponente der Transformation beschreibt. Diew-Eigenschaft ist immer1.0. XRRigidTransform.orientationSchreibgeschützt-
Ein
DOMPointReadOnly, der ein Einheitsquaternion enthält, das die Rotationskomponente der Transformation beschreibt. Als Einheitsquaternion ist seine Länge stets auf1.0normalisiert. XRRigidTransform.matrixSchreibgeschützt-
Gibt die Transformationsmatrix in Form eines 16-Elemente-
Float32Arrayzurück. Siehe den Abschnitt Matrix Format, um zu verstehen, wie das Array zur Darstellung einer Matrix verwendet wird. XRRigidTransform.inverseSchreibgeschützt-
Gibt ein
XRRigidTransformzurü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
Loading…