WebXR Device API
Eingeschränkt verfügbar
Diese Funktion ist nicht Baseline, da sie in einigen der am weitesten verbreiteten Browser nicht funktioniert.
Want more support for this feature? Tell us why.
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 genutzt werden, um das Rendern von 3D-Szenen auf Hardware zu unterstützen, die für die Präsentation virtueller Welten (Virtual Reality oder VR) entwickelt wurde, oder um grafische Bilder zur realen Welt hinzuzufügen (Augmented Reality oder AR). Die WebXR-Geräte-API implementiert den Kern des WebXR-Feature-Sets, verwaltet die Auswahl der Ausgabegeräte, rendert die 3D-Szene auf das gewählte Gerät mit der entsprechenden Bildrate und verwaltet Bewegungsvektoren, die unter Verwendung von Eingabesteuerungen erstellt werden.
WebXR-kompatible Geräte umfassen vollständig immersive 3D-Headsets mit Bewegungs- und Orientierungserfassung, Brillen, die Grafiken über die reale Welt-Szene legen, die durch die Gläser hindurchgeht, sowie Handys, die die Realität erweitern, indem sie die Welt mit einer Kamera erfassen und diese Szene mit computergenerierten Bildern ergänzen.
Um diese Dinge zu erreichen, bietet die WebXR-Geräte-API die folgenden Hauptfunktionen:
- Finden von kompatiblen VR- oder AR-Ausgabegeräten
- Rendern einer 3D-Szene auf das Gerät mit einer angemessenen Bildrate
- (Optional) Spiegelung der Ausgabe auf ein 2D-Display
- Erstellen von Vektoren, die die Bewegungen von Eingabesteuerungen darstellen
Auf der grundlegendsten Ebene wird eine Szene in 3D präsentiert, indem die Perspektive berechnet wird, die auf die Szene angewendet werden soll, um sie aus der Sicht jedes Benutzerauges zu rendern, indem die Position jedes Auges berechnet wird und die Szene von dieser Position aus gerendert wird, in die Richtung schauend, die der Benutzer gerade ansieht. Jedes dieser beiden Bilder wird in ein einzelnes Framebuffer gerendert, wobei das gerenderte Bild des linken Auges auf der linken Seite und die Ansicht des rechten Auges in der rechten Hälfte des Buffers gerendert ist. Sobald die Perspektiven der Szene für beide Augen gerendert wurden, wird das resultierende Framebuffer an das WebXR-Gerät geliefert, um es dem Benutzer über 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-Funktionalität wird durch das WebXR Augmented Reality Module hinzugefügt.
Ein typisches XR-Gerät kann entweder 3 oder 6 Freiheitsgrade haben und möglicherweise oder möglicherweise nicht über einen externen Positionssensor verfügen.
Die Ausrüstung kann auch ein Beschleunigungsmesser, Barometer oder andere Sensoren enthalten, die genutzt werden, um zu erkennen, wann sich der Benutzer durch den Raum bewegt, seinen Kopf dreht oder ähnliches.
WebXR-Referenzdokumente
Initialisierung
navigator.xrXRSystemXRPermissionStatusPermissions-Policy:xr-spatial-tracking
Sitzung
Frame-Schleife
Räume
Ansichten
Geometrische Primitive
Pose
Eingabe
Ebenen
XRLayerXRLayerEventXRCompositionLayerXRCubeLayerXRCylinderLayerXREquirectLayerXRProjectionLayerXRQuadLayerXRMediaBinding
WebGL-Bindung
Anker
Tiefenmessung
Treffererkennung
Beleuchtungsschätzung
Leitfäden und Tutorials
Die folgenden Leitfäden und Tutorials sind eine großartige Ressource, um zu lernen, wie Sie WebXR und die zugrunde liegenden 3D- sowie VR/AR-Grafik-Konzepte verstehen können.
Grundlagen und Grundlagen
Erstellung 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
- Ansichten und Betrachter: Simulieren von Kameras in WebXR
- Eine Perspektive Retrospektive für WebXR-Entwickler
- Beleuchtung einer WebXR-Umgebung
- Verwendung von begrenzten Referenzräumen
Interaktiv machen
- 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-Zeichnen für das Web
- Canvas-Tutorial