WebXR Device API
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.
Experimentell: Dies ist eine experimentelle Technologie
Überprüfen Sie die Browser-Kompatibilitätstabelle sorgfältig vor der Verwendung auf produktiven Webseiten.
WebXR ist eine Gruppe von Standards, die gemeinsam verwendet werden, um das Rendern von 3D-Szenen für Hardware zu unterstützen, die für die Darstellung von virtuellen Welten (virtuelle Realität, oder VR) konzipiert sind, oder um grafische Bilder in die reale Welt zu integrieren (erweiterte Realität, oder AR). Die WebXR Device API implementiert den Kern der WebXR-Funktionsgruppe, verwaltet die Auswahl der Ausgabegeräte, rendert die 3D-Szene auf das ausgewählte Gerät mit der angemessenen Bildrate und verwaltet Bewegungsvektoren, die mit Eingabegeräten generiert werden.
Mit WebXR kompatible Geräte umfassen vollständig immersive 3D-Headsets mit Bewegungs- und Orientierungsverfolgung, Brillen, die Grafiken über die reale Szenerie legen, die durch die Rahmen hindurchgeht, sowie tragbare Mobiltelefone, die die Realität durch das Aufnehmen der Welt mit einer Kamera erweitern und diese Szene mit computergenerierten Bildern ergänzen.
Um diese Dinge zu erreichen, bietet die WebXR Device API folgende Hauptfähigkeiten:
- Finden kompatibler VR- oder AR-Ausgabegeräte
- Rendern einer 3D-Szene auf das Gerät mit einer geeigneten Bildrate
- (Optional) Spiegeln der Ausgabe auf ein 2D-Display
- Erstellen von Vektoren, die die Bewegungen von Kontrolleingaben darstellen
Auf der grundlegendsten Ebene wird eine Szene in 3D präsentiert, indem die Perspektive berechnet wird, die auf die Szene anzuwenden ist, um sie aus dem Blickwinkel jedes Auges des Benutzers zu rendern, indem die Position jedes Auges berechnet wird und die Szene von dieser Position aus gerendert wird, blickend in die Richtung, in die der Benutzer aktuell schaut. Jedes dieser beiden Bilder wird in einen einzigen Framebuffer gerendert, wobei das gerenderte Bild des linken Auges links und der Blickwinkel des rechten Auges in die rechte Hälfte des Puffers gerendert wird. Sobald beide Perspektiven der Szene gerendert wurden, wird der resultierende Framebuffer an das WebXR-Gerät geliefert, um es dem Benutzer über ihr Headset oder ein anderes geeignetes Anzeigegerät zu präsentieren.
Während die ältere WebVR API ausschließlich zur Unterstützung von Virtual Reality (VR) entwickelt wurde, bietet WebXR Unterstützung sowohl für VR als auch für Augmented Reality (AR) im Web. Die Unterstützung für AR-Funktionalität wird durch das WebXR Augmented Reality Module hinzugefügt.
Ein typisches XR-Gerät kann entweder 3 oder 6 Freiheitsgrade haben und eventuell einen externen Positionssensor besitzen.
Die Ausrüstung kann auch ein Beschleunigungsmesser, Barometer oder andere Sensoren umfassen, die verwendet werden, um zu erkennen, wann der Benutzer sich durch den Raum bewegt, seinen Kopf dreht oder ähnliches.
WebXR-Referenzdokumente
Initialisierung
navigator.xr
XRSystem
XRPermissionStatus
Permissions-Policy
:xr-spatial-tracking
Sitzung
Frame-Schleife
Räume
Ansichten
Geometrische Primitive
Pose
Eingaben
Ebenen
XRLayer
XRLayerEvent
XRCompositionLayer
XRCubeLayer
XRCylinderLayer
XREquirectLayer
XRProjectionLayer
XRQuadLayer
XRMediaBinding
WebGL-Bindung
Anker
Tiefenwahrnehmung
Treffertests
Lichtschätzungen
Leitfäden und Tutorials
Die folgenden Leitfäden und Tutorials sind eine hervorragende Ressource, um zu lernen, wie man WebXR und die zugrunde liegenden 3D- und VR/AR-Grafikkonzepte versteht.
Grundlagen und Basics
Erstellen einer Mixed-Reality-Erfahrung
- Starten und Beenden einer WebXR-Sitzung
- Geometrie und Referenzräume in WebXR
- Räumliche Verfolgung in WebXR
- Rendering und der WebXR-Frame-Animations-Callback
- Sichtpunkte und Betrachter: Kamerasimulation in WebXR
- Eine retrospektive Perspektive für WebXR-Entwickler
- Beleuchtung eines WebXR-Settings
- Verwendung von begrenzten Referenzräumen
Interaktivität herstellen
- Bewegung, Orientierung und Bewegung: Ein WebXR-Beispiel
- Eingaben und Eingabequellen
- Zielerfassung und Treffererkennung
Leistung und Sicherheit
Spezifikationen
Browser-Kompatibilität
Siehe auch
- Grafiken zeichnen
- WebGL API: Beschleunigte 2D- und 3D-Grafiken im Web
- Canvas API: 2D-Zeichnung für das Web
- Canvas-Tutorial