Class WebXRExperienceHelper
Implements
Properties
camera
Camera used to render xr content
features Manager
A features manager for this xr session
on Initial XR Pose Set Observable
Observers registered here will be triggered after the camera's initial transformation is set This can be used to set a different ground level or an extra rotation.
Note that ground level is considered to be at 0. The height defined by the XR camera will be added to the position set after this observable is done executing.
on State Changed Observable
Fires when the state of the experience helper has changed
session Manager
Session manager used to keep track of xr session
state
The current state of the XR experience (eg. transitioning, in XR or not in XR)
Methods
disable Specatator Mode
-
Disable spectator mode for desktop VR experiences.
Returns void
dispose
-
Disposes of the experience helper
Returns void
enable Spectator Mode
-
Enable spectator mode for desktop VR experiences. When spectator mode is enabled a camera will be attached to the desktop canvas and will display the first rig camera's view on the desktop canvas. Please note that this will degrade performance, as it requires another camera render. It is also not recommended to enable this in devices like the quest, as it brings no benefit there.
Parameters
Optionaloptions: WebXRSpectatorModeOptiongiving WebXRSpectatorModeOption for specutator camera to setup when the spectator mode is enabled.
Returns void
enter XR Async
-
enterXRAsync(
sessionMode: XRSessionMode,
referenceSpaceType: XRReferenceSpaceType,
renderTarget?: WebXRRenderTarget<WebGLRenderingContext, XRWebGLLayer>,
sessionCreationOptions?: XRSessionInit,
): Promise<WebXRSessionManager>Enters XR mode (This must be done within a user interaction in most browsers eg. button click)
Parameters
- sessionMode: XRSessionMode
options for the XR session
- referenceSpaceType: XRReferenceSpaceType
frame of reference of the XR session
OptionalrenderTarget: WebXRRenderTarget<WebGLRenderingContext, XRWebGLLayer>the output canvas that will be used to enter XR mode
- sessionCreationOptions: XRSessionInit = {}
optional XRSessionInit object to init the session with
Returns Promise<WebXRSessionManager>
promise that resolves after xr mode has entered
- sessionMode: XRSessionMode
exit XR Async
-
Exits XR mode and returns the scene to its original state
Returns Promise<void>
promise that resolves after xr mode has exited
StaticCreate Async
-
Creates the experience helper
Parameters
- scene: Scene
the scene to attach the experience helper to
Returns Promise<WebXRExperienceHelper>
a promise for the experience helper
- scene: Scene
Base set of functionality needed to create an XR experience (WebXRSessionManager, Camera, StateManagement, etc.)
See
https://doc.babylonjs.com/features/featuresDeepDive/webXR/webXRExperienceHelpers