Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten.Erfahre mehr über dieses Experiment.
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 insicheren Kontexten (HTTPS) in einigen oder allenunterstützenden Browsern verfügbar.
DieXRRigidTransform ist eineWebXR 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 vonXRRigidTransform 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.
In diesem Artikel
Konstruktor
XRRigidTransform()Erstellt ein neues
XRRigidTransform-Objekt, das eine Transformation darstellt, die eine bestimmte Position und/oder Orientierung anwendet.
Instanzeigenschaften
XRRigidTransform.positionSchreibgeschütztEin
DOMPointReadOnly, der einen dreidimensionalen Punkt in Metern angibt und die Übersetzungskomponente der Transformation beschreibt. Diew-Eigenschaft ist immer1.0.XRRigidTransform.orientationSchreibgeschütztEin
DOMPointReadOnly, der ein Einheitsquaternion enthält, das die Rotationskomponente der Transformation beschreibt. Als Einheitsquaternion ist seine Länge stets auf1.0normalisiert.XRRigidTransform.matrixSchreibgeschütztGibt die Transformationsmatrix in Form eines 16-Elemente-
Float32Arrayzurück. Siehe den AbschnittMatrix Format, um zu verstehen, wie das Array zur Darstellung einer Matrix verwendet wird.XRRigidTransform.inverseSchreibgeschütztGibt 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 einXRRigidTransform interpretiert wird, wird die Orientierung immer vor der Position auf das betroffene Objekt angewendet.
Beispiel
Dieser Codeausschnitt erstellt einXRRigidTransform, 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 MethoderequestAnimationFrame() 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> |