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 zusammen verwendet werden, um das Rendern von 3D-Szenen auf Hardware zu unterstützen, die für die Präsentation virtueller Welten (Virtual Reality oder VR) oder für das Hinzufügen grafischer Bilder zur realen Welt (Augmented Reality oder AR) entwickelt wurde. Die WebXR Device API implementiert den Kern des WebXR-Funktionssatzes, verwaltet die Auswahl der Ausgabegeräte, rendert die 3D-Szene auf das gewählte Gerät mit der geeigneten Bildrate und verwaltet Bewegungsvektoren, die mithilfe von Eingabesteuerungen erstellt werden.
WebXR-kompatible Geräte umfassen vollständig immersive 3D-Headsets mit Bewegungs- und Orientierungstracking, Brillen, die Grafiken über die reale Welt zeigen, die durch die Rahmen hindurchgehen, und tragbare Mobiltelefone, die die Realität erweitern, indem sie die Welt mit einer Kamera erfassen und die Szene mit computergenerierten Bildern erweitern.
Um diese Dinge zu erreichen, bietet die WebXR Device API die folgenden Hauptfunktionen:
- Finden von kompatiblen VR- oder AR-Ausgabegeräten
- 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 Eingabesteuerungen repräsentieren
Auf der grundlegendsten Ebene wird eine Szene in 3D präsentiert, indem die Perspektive berechnet wird, die auf die Szene angewendet werden muss, um sie aus der Sicht jedes Benutzerauges zu rendern, indem die Position jedes Auges berechnet und die Szene von dieser Position aus gerendert wird, wobei in die Richtung geblickt wird, in die der Benutzer gerade schaut. Jedes dieser beiden Bilder wird in einen einzigen Framebuffer gerendert, mit dem gerenderten Bild des linken Auges auf der linken Seite und dem Standpunkt des rechten Auges auf der rechten Hälfte des Puffers. Sobald die Perspektiven beider Augen auf die Szene gerendert wurden, wird der resultierende Framebuffer dem WebXR-Gerät übergeben, um ihn dem Benutzer durch sein 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-Funktionen wird durch das WebXR Augmented Reality Module hinzugefügt.
Ein typisches XR-Gerät kann entweder 3 oder 6 Freiheitsgrade haben und kann mit oder ohne externen Positionssensor ausgestattet sein.
Das Equipment kann auch einen Beschleunigungsmesser, ein Barometer oder andere Sensoren enthalten, die benutzt werden, um zu erkennen, wann der Benutzer sich durch den Raum bewegt, seinen Kopf dreht oder Ähnliches.
WebXR-Referenzdokumentation
Initialisierung
navigator.xr
XRSystem
XRPermissionStatus
Permissions-Policy
:xr-spatial-tracking
Sitzung
Frame-Schleife
Räume
Ansichten
Geometrische Primitive
Pose
Eingabe
Ebenen
XRLayer
XRLayerEvent
XRCompositionLayer
XRCubeLayer
XRCylinderLayer
XREquirectLayer
XRProjectionLayer
XRQuadLayer
XRMediaBinding
WebGL-Bindung
Anker
Tiefenerfassung
Trefferüberprüfung
Schätzung der Beleuchtung
Leitfäden und Tutorials
Die folgenden Leitfäden und Tutorials sind großartige Ressourcen, um zu lernen, wie man WebXR und die zugrunde liegenden Konzepte von 3D- und VR/AR-Grafiken versteht.
Grundlagen und Grundlagenwissen
Erstellen einer Mixed-Reality-Erfahrung
- Starten und Beenden einer WebXR-Sitzung
- Geometrie und Referenzräume in WebXR
- Raumverfolgung in WebXR
- Rendering und der WebXR-Frame-Animationsrückruf
- Perspektiven und Betrachter: Simulieren von Kameras in WebXR
- Eine perspektivische Retrospektive für WebXR-Entwickler
- Beleuchtung einer WebXR-Umgebung
- Verwendung von begrenzten Referenzräumen
Interaktiv gestalten
- Bewegung, Orientierung und Bewegung: Ein WebXR-Beispiel
- Eingaben und Eingabequellen
- Zielen 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-Zeichnen für das Web
- Canvas-Tutorial