| [ Web Proxy ] |
| Viewing: https://developer.mozilla.org/de/docs/Web/API/XRReferenceSpace | [Back] [Original] |
Get to know MDN better
Dieser Inhalt wurde automatisch aus dem Englischen bersetzt, und kann Fehler enthalten. Erfahre mehr ber dieses Experiment.
Diese Funktion ist nicht Baseline, da sie in einigen der am weitesten verbreiteten Browser nicht funktioniert.
Want more browser support for this feature? Tell us why.
Sicherer Kontext: Diese Funktion ist nur in sicheren Kontexten (HTTPS) in einigen oder allen untersttzenden Browsern verfgbar.
Das XRReferenceSpace-Interface der WebXR Device API beschreibt das Koordinatensystem fr eine spezifische verfolgte Entitt oder ein Objekt innerhalb der virtuellen Welt unter Verwendung eines bestimmten Verfolgungsverhaltens. Das Verfolgungsverhalten wird durch den ausgewhlten Referenzraumtyp definiert. Es erweitert die Basisklasse XRSpace, indem es Untersttzung fr mehrere verschiedene Verfolgungsverhalten hinzufgt sowie um einen neuen Referenzraum anzufordern, der die Versatztransformation zwischen dem verfolgten Objekt und einem anderen Ort in der Welt beschreibt.
Alle Referenzrume - mit der alleinigen Ausnahme von begrenzten Referenzrumen - werden mithilfe des Typs XRReferenceSpace beschrieben. Begrenzte Rume werden als XRBoundedReferenceSpace-Objekte implementiert. Diese sind spezielle Rume, die Ihnen erlauben, einen Bereich festzulegen, innerhalb dessen es "sicher" ist, sich zu bewegen. Fr XR-Systeme, die es dem Nutzer erlauben, sich physisch zu bewegen, wie etwa solche, die Bewegungen mit einer realen Kamera verfolgen, definiert diese Grenze die Rnder des Bereichs, in dem sich der Nutzer bewegen kann, sei es aufgrund physischer Hindernisse oder aufgrund von Einschrnkungen der XR-Hardware. Weitere Informationen zur Nutzung von Grenzen, um den Nutzer vor Kollisionen mit physischen und virtuellen Hindernissen zu schtzen, finden Sie im Artikel Verwendung von begrenzten Referenzrumen, um den Betrachter zu schtzen.
XRReferenceSpace erbt die Eigenschaften von EventTarget, definiert aber keine zustzlichen Eigenschaften.
XRReferenceSpace erbt auch Methoden von EventTarget zustzlich zu den folgenden Methoden.
getOffsetReferenceSpace()Erstellt und gibt ein neues Referenzraumobjekt des gleichen Typs zurck, auf dem Sie die Methode aufrufen (also entweder XRReferenceSpace oder XRBoundedReferenceSpace). Der neue Referenzraum kann verwendet werden, um ein Koordinatensystem von dem Referenzraum des Objekts, auf dem die Methode aufgerufen wird, in ein anderes Koordinatensystem zu transformieren. Dies ist ntzlich zum Positionieren von Objekten beim Rendern und zum Ausfhren der bentigten Transformationen, wenn die Position und/oder Ausrichtung des Betrachters im 3D-Raum gendert werden.
resetDas reset-Ereignis wird an ein XRReferenceSpace-Objekt gesendet, wenn der Browser eine Diskontinuitt zwischen dem Ursprung des verfolgten Objekts und der Umgebung oder dem Standort des Nutzers erkennt. Dies kann zum Beispiel passieren, nachdem der Nutzer sein XR-Gert neu kalibriert hat oder wenn das Gert seinen Ursprung automatisch anpasst, nachdem das Tracking verloren und wiederhergestellt wurde.
Die Arten von Referenzrumen sind in der Tabelle unten aufgelistet, mit kurzen Informationen zu ihren Anwendungsfllen und welche Schnittstelle verwendet wird, um sie zu implementieren.
bounded-floorEin XRBoundedReferenceSpace, der dem local-Typ hnlich ist, auer dass der Nutzer nicht erwartet wird, sich auerhalb eines vorgegebenen Bereichs zu bewegen, der durch die boundsGeometry im zurckgegebenen Objekt angegeben wird.
localEin XRReferenceSpace-Verfolgungsraum, dessen nativer Ursprung sich nahe der Position des Nutzers befindet zu dem Zeitpunkt, zu dem die Sitzung erstellt wurde. Die genaue Position hngt von der zugrunde liegenden Plattform und Implementierung ab. Der Nutzer wird nicht erwartet, sich wesentlich ber seine Ausgangsposition hinaus zu bewegen, und das Tracking ist fr diesen Anwendungsfall optimiert. Fr Gerte mit sechs Freiheitsgraden (6DoF) Tracking versucht der local-Referenzraum, den Ursprung stabil in Bezug auf die Umgebung zu halten.
local-floorEin XRReferenceSpace, der dem local-Typ hnelt, auer dass die Ausgangsposition an einem sicheren Ort fr den Nutzer platziert wird, wobei der Wert der y-Achse bei 0 auf Bodenebene liegt. Wenn diese Bodenebene nicht bekannt ist, wird der Benutzeragent die Bodenebene schtzen. Wenn die geschtzte Bodenebene ungleich null ist, wird erwartet, dass der Browser sie in einer Weise aufrundet, die Fingerprinting vermeidet (wahrscheinlich auf den nchsten Zentimeter).
unboundedEin XRReferenceSpace-Verfolgungsraum, der dem Nutzer vllige Bewegungsfreiheit erlaubt, mglicherweise ber extrem lange Distanzen von ihrem Ursprungspunkt. Der Betrachter wird berhaupt nicht verfolgt; das Tracking wird fr Stabilitt um die aktuelle Position des Nutzers optimiert, daher kann der native Ursprung nach Bedarf driften, um diesem Bedarf gerecht zu werden.
viewerEin XRReferenceSpace-Verfolgungsraum, dessen nativer Ursprung die Position und Ausrichtung des Betrachters verfolgt. Dies wird fr Umgebungen verwendet, in denen sich der Nutzer physisch bewegen kann und wird von allen Instanzen von XRSession untersttzt, sowohl immersiv als auch inline, obwohl es fr Inline-Sitzungen am ntzlichsten ist. Es ist besonders ntzlich, um die Entfernung zwischen dem Betrachter und einer Eingabe zu bestimmen oder beim Arbeiten mit Versatzrumen. Andernfalls wird typischerweise einer der anderen Referenzraumtypen hufiger verwendet.
Es gibt zwei Situationen, in denen Sie ein XRReferenceSpace erhalten mssen. Die erste ist, wenn Sie Ihre Szene einrichten und einen Referenzraum bentigen, um fr die Dauer der XRSession den Standpunkt des Benutzers auf die Welt darzustellen. Um dies zu tun, rufen Sie die Methode requestReferenceSpace() der XRSession auf und geben Sie den Referenzraumtyp an, den Sie erhalten mchten.
xrSession.requestReferenceSpace("local").then((refSpace) => {
xrReferenceSpace = refSpace;
//
});
Die andere Situation, in der Sie mglicherweise einen neuen Referenzraum bentigen, ist, wenn Sie den Ursprung an eine neue Position verschieben mssen; dies wird hufig getan, zum Beispiel, wenn Ihr Projekt dem Nutzer erlaubt, sich mit Eingabegerten wie Tastatur, Maus, Touchpad oder Spielsteuerungen, die nicht ber das XR-Gert verbunden sind, durch die Umgebung zu bewegen. Da der Ursprung typischerweise der Standort des Nutzers im Raum ist, mssen Sie den Ursprung ndern, um deren Bewegungen und Orientierungsnderungen widerzuspiegeln.
Um die Ansicht des Nutzers auf die Welt zu bewegen oder zu drehen, mssen Sie das XRReferenceSpace, das diesen Blickwinkel darstellt, ndern. XRReferenceSpace ist jedoch unvernderlich, daher mssen Sie stattdessen einen neuen Referenzraum erstellen, der den genderten Blickwinkel darstellt. Dies ist leicht mit der Methode getOffsetReferenceSpace() zu erreichen.
let offsetTransform = new XRRigidTransform(
{ x: 2, y: 0, z: 1 },
{ x: 0, y: 0, z: 0, w: 1 },
);
xrReferenceSpace = xrReferenceSpace.getOffsetReferenceSpace(offsetTransform);
Dies ersetzt das XRReferenceSpace durch ein neues, dessen Ursprung und Ausrichtung angepasst sind, um den neuen Ursprung bei (2, 0, 1) relativ zum aktuellen Ursprung zu platzieren und rotiert mit einem Einheit-Quaternion, das den Raum so orientiert, dass der Betrachter relativ zur vorherigen Weltorientierung nach oben schaut.
Der native Ursprung eines XRReferenceSpace wird immer so konfiguriert, dass +X als rechts, +Y als aufwrts und +Z als "rckwrts" oder in Richtung des Nutzers betrachtet wird.
| Spezifikation |
|---|
| WebXR Device API # xrreferencespace-interface |
XRReferenceSpaceNavigator.xrWebGLRenderingContext.makeXRCompatible()XRAnchorXRBoundedReferenceSpaceXRCPUDepthInformationXRDepthInformationXRFrameXRInputSourceXRInputSourceArrayXRInputSourceEventXRInputSourcesChangeEventXRPoseXRReferenceSpaceEventXRRenderStateXRRigidTransformXRSessionXRSessionEventXRSpaceXRSystemXRViewXRViewerPoseXRViewportXRWebGLBindingXRWebGLDepthInformationXRWebGLLayerDer Bauplan fr ein besseres Internet.
Teile dieses Inhalts sind 19982026 von einzelnen mozilla.org-Mitwirkenden. Inhalte sind verfgbar unter einer Creative-Commons-Lizenz.
| Web Proxy Viewer | New URL | Original Page |