Oculus Browser 7.0 und höher unterstützen standardmäßig WebXR, da sich diese API nun stabilisiert hat. WebXR ersetzt die WebVR-API, die zwar kein Standard ist, aber von vielen Browsern übernommen wurde. Wenn Oculus Browser und andere Browser mit aktiviertem WebXR veröffentlicht werden, funktionieren Anwendungen, die gegen WebVR erstellt wurden, möglicherweise nicht mehr, weil sie über Code verfügen, der frühere Versionen von WebXR unterstützt, was mit der aktuellen WebXR-Spezifikation nicht kompatibel ist. Dieses Dokument beschreibt einige Kompatibilitätsprobleme, die festgestellt wurden, und die Schritte, die Sie unternehmen können, um sicherzustellen, dass Ihre Webanwendungen weiterhin mit WebXR funktionieren.
Identifizierte Kompatibilitätsprobleme.
Einige ältere Versionen von beliebten VR-Web-Entwicklungsbibliotheken haben Kompatibilitätsprobleme. Browser-Erfahrungen, die mit WebXR möglicherweise wie erwartet funktionieren, sind enthalten.
Möglicherweise gibt es noch andere Erfahrungen mit Kompatibilitätsproblemen, die noch nicht identifiziert worden sind.
Test auf Kompatibilität.
Um zu sehen, ob Ihre WebVR-Erfahrungen Kompatibilitätsprobleme haben, können Sie Ihre Web-Erfahrungen sowohl mit aktiviertem WebXR als auch mit aktiviertem WebVR testen.
Für Oculus Browser oder Google Chrome gehen Sie zu chrome://flags und aktivieren Sie WebVR und WebXR (in Oculus Browser 7.0 ist dies die Standardeinstellung). Andere moderne Browser sollten ähnliche Einstellungen haben.
Als nächstes laden Sie Ihre Erfahrung und versuchen, VR einzugeben. Wenn sich Ihre Erfahrung so verhält, wie Sie es erwarten, dann brauchen Sie wahrscheinlich keine Änderungen vorzunehmen. Sie sollten Ihre Erfahrung in mehreren Browsern ausprobieren.
Wenn es fehlschlägt, können die Ergebnisse je nach verwendetem Browser unterschiedlich ausfallen. Ein Fehler kann auftreten, wenn Sie eine ältere Version von ThreeJS verwenden:
Für den beschriebenen Test wird WebXR-Support vom Framework erkannt und es kann einen Button Enter XR erscheinen, aber wenn Sie darauf klicken, erhalten Sie eine Exception.
Kompatibilitätsprobleme lösen.
Im Allgemeinen können Sie zur Behebung von Kompatibilitätsproblemen prüfen, ob eine neuere Version eines Frameworks oder Tools, das Sie in Ihrer Webanwendung verwenden, vorhanden ist und ob die neueren Versionen mit WebXR kompatibel sind. Falls ja, migrieren Sie auf die neuere Version.
Wenn es keine neuere Version gibt oder die neuere Version WebXR nicht vollständig unterstützt, können Sie möglicherweise den Open-Source-Code so ändern, dass dieser in den neuesten Browsern funktioniert.
ThreeJS Modifikationsbeispiel.
Für das im vorigen Abschnitt beschriebene Kompatibilitätsproblem mit ThreeJS können Sie eine von drei Dingen tun:
Remove Detection Logic aus ThreeJS entfernen.
Im Folgenden wird ein Beispiel dafür gegeben, wie Sie die WebVXR Remove Detection Logic aus ThreeJS für eine benutzerdefinierte Version (die Sie bereits geklont und modifiziert haben) entfernen können oder wie Sie eine benutzerdefinierte Version erstellen und modifizieren können.
Entfernen Sie die Remove WebXR Detection Logic aus der benutzerdefinierten ThreeJS.
Die folgenden Schritte gelten, wenn Sie eine angepasste Version von ThreeJS selbst erstellen oder vordefinierte ThreeJS verwenden. Wenn Sie npm/yarn verwenden und das ThreeJS-Modul zur Erstellungszeit aus dem Original-Repo für Sie heruntergeladen wird, funktionieren die folgenden Schritte nicht.
So deaktivieren Sie den veralteten WebXRManager in älteren ThreeJS-Versionen:
Dann:
Oder finden Sie in neueren Versionen eine Zeile wie die folgende:
VR-Taste eingeben:
Anpassen von ThreeJS und Entfernen der WebXR-Dectection Logic.
Wenn Ihre Anwendung mit npm oder yarn erstellt wurde und wenn ThreeJS nicht von Ihnen angepasst wurde, d.h. npm/yarn läst das Modul ThreeJS aus dem ursprünglichen Repository herunter, müssen Sie eine angepasste Version erstellen, die Sie ändern können. Die wichtigsten Schritte hierfür sind:
oder für yarn:
Vielen Dank für Ihren Besuch.