How to scale the scene when using WebVR?

I was just thinking, what are typical values for the eye-to-eye distance in three.js units, or how do I access the value?

The guy says vr scene appears huge to him which, I assume, means the eye-to-eye distance is too small. So I would need to apply some scale when switching to vr…? how? when? is there a guide to this?

I saw similar previous thread but it was not helpful.

Have you tried to scale the entire scene when WebVR is presenting? Something like scene.scale.set( 0.5, 0.5, 0.5 );

Assuming you are using WebVR and not WebXR, you can use renderer.vr.isPresenting() in order to determine if the app is in VR mode.

Hi! Thank you for this suggestion. I added an event listener to the WebXRManager as follows:

this.renderer.instance.xr.addEventListener('sessionstart', this.onVRSessionStart.bind(this))
this.renderer.instance.xr.addEventListener('sessionend', this.onVRSessionEnd.bind(this))

I then added these functions:

onVRSessionStart() {
    if (!this.sceneScaled) {
      console.log("xxx")

      this.scene.instance.scale.set(0.2, 0.2, 0.2)
      this.sceneScaled = true
    }
  }
  
  onVRSessionEnd() {
    if (this.sceneScaled) {
      this.scene.instance.scale.set(1, 1, 1)
      this.sceneScaled = false
    }
  }

And though the event listeners work (xxx) is printed, the scene is not scaled. Any help will be much appreciated. Oh, sceneScaled = false in the beginning. Another weird thing is that it seems like the scene is scaled, because when I did: “console.log(this.scene.instance)” the scale is indeed 0.1 but on the screen, nothing appears to be changing.