diff --git a/src/assets/stylesheets/hub.scss b/src/assets/stylesheets/hub.scss index 1f7f530e911e8730be9a4a49f9e8a39fd33542e6..a562a8013f81fabbd400a925209eb24dd5ea6650 100644 --- a/src/assets/stylesheets/hub.scss +++ b/src/assets/stylesheets/hub.scss @@ -9,7 +9,7 @@ @import 'info-dialog'; body.vr-mode { - a-scene.fullscreen { + a-scene { .a-canvas { width: 200% !important; } diff --git a/src/hub.html b/src/hub.html index a4eff0a0038a245bba16c6645821bf3f74623928..276efb05f1484f55971cffc2f4c28d94488e3ead 100644 --- a/src/hub.html +++ b/src/hub.html @@ -342,6 +342,7 @@ class="camera" camera personal-space-bubble="radius: 0.4;" + rotation pitch-yaw-rotator > <a-entity diff --git a/src/hub.js b/src/hub.js index cee2b1be8448112241012b9e8c1986f3130afb09..d967dc93483795102168b340126d7782ff235017 100644 --- a/src/hub.js +++ b/src/hub.js @@ -317,7 +317,17 @@ document.addEventListener("DOMContentLoaded", async () => { window.APP.scene = scene; - scene.addEventListener("enter-vr", () => document.body.classList.add("vr-mode")); + scene.addEventListener("enter-vr", () => { + document.body.classList.add("vr-mode"); + + if (!scene.is("entered")) { + // If VR headset is activated, refreshing page will fire vrdisplayactivate + // which puts A-Frame in VR mode, so exit VR mode whenever it is attempted + // to be entered and we haven't entered the room yet. + scene.exitVR(); + } + }); + scene.addEventListener("exit-vr", () => document.body.classList.remove("vr-mode")); registerNetworkSchemas();