Options
All
  • Public
  • Public/Protected
  • All
Menu

Class WebXRSessionManager

Manages an XRSession to work with Babylon's engine

see

https://doc.babylonjs.com/how_to/webxr_session_manager

Hierarchy

  • WebXRSessionManager

Implements

Index

Constructors

constructor

  • Constructs a WebXRSessionManager, this must be initialized within a user action before usage

    Parameters

    • scene: Scene

      The scene which the session should be created for

    Returns WebXRSessionManager

Properties

baseReferenceSpaceSearch playground for baseReferenceSpace

baseReferenceSpace: XRReferenceSpace

The base reference space from which the session started. good if you want to reset your reference space

currentFrameSearch playground for currentFrame

currentFrame: Nullable<XRFrame>

Current XR frame

currentTimestampSearch playground for currentTimestamp

currentTimestamp: number

WebXR timestamp updated every frame

defaultHeightCompensationSearch playground for defaultHeightCompensation

defaultHeightCompensation: number

Used just in case of a failure to initialize an immersive session. The viewer reference space is compensated using this height, creating a kind of "viewer-floor" reference space

onXRFrameObservableSearch playground for onXRFrameObservable

onXRFrameObservable: Observable<XRFrame>

Fires every time a new xrFrame arrives which can be used to update the camera

onXRReferenceSpaceChangedSearch playground for onXRReferenceSpaceChanged

onXRReferenceSpaceChanged: Observable<XRReferenceSpace>

Fires when the reference space changed

onXRSessionEndedSearch playground for onXRSessionEnded

onXRSessionEnded: Observable<any>

Fires when the xr session is ended either by the device or manually done

onXRSessionInitSearch playground for onXRSessionInit

onXRSessionInit: Observable<XRSession>

Fires when the xr session is initialized: right after requestSession was called and returned with a successful result

sceneSearch playground for scene

scene: Scene

The scene which the session should be created for

sessionSearch playground for session

session: XRSession

Underlying xr session

viewerReferenceSpaceSearch playground for viewerReferenceSpace

viewerReferenceSpace: XRReferenceSpace

The viewer (head position) reference space. This can be used to get the XR world coordinates or get the offset the player is currently at.

Accessors

isNative

  • get isNative(): boolean
  • Returns true if Babylon.js is using the BabylonNative backend, otherwise false

    Returns boolean

referenceSpace

  • The current reference space used in this session. This reference space can constantly change! It is mainly used to offset the camera's position.

    Returns XRReferenceSpace

  • Set a new reference space and triggers the observable

    Parameters

    Returns any

Methods

disposeSearch playground for dispose

  • dispose(): void
  • Disposes of the session manager This should be called explicitly by the dev, if required.

    Returns void

exitXRAsyncSearch playground for exitXRAsync

  • exitXRAsync(): Promise<void>
  • Stops the xrSession and restores the render loop

    Returns Promise<void>

    Promise which resolves after it exits XR

getRenderTargetTextureForEyeSearch playground for getRenderTargetTextureForEye

  • Gets the correct render target texture to be rendered this frame for this eye

    Parameters

    • eye: XREye

      the eye for which to get the render target

    Returns Nullable<RenderTargetTexture>

    the render target for the specified eye or null if not available

getWebXRRenderTargetSearch playground for getWebXRRenderTarget

  • Creates a WebXRRenderTarget object for the XR session

    Parameters

    Returns WebXRRenderTarget

    a WebXR render target to which the session can render

initializeAsyncSearch playground for initializeAsync

  • initializeAsync(): Promise<void>
  • Initializes the manager After initialization enterXR can be called to start an XR session

    Returns Promise<void>

    Promise which resolves after it is initialized

initializeSessionAsyncSearch playground for initializeSessionAsync

  • Initializes an xr session

    Parameters

    • Optional xrSessionMode: XRSessionMode

      mode to initialize

    • Optional xrSessionInit: XRSessionInit

      defines optional and required values to pass to the session builder

    Returns Promise<XRSession>

    a promise which will resolve once the session has been initialized

isSessionSupportedAsyncSearch playground for isSessionSupportedAsync

  • isSessionSupportedAsync(sessionMode: XRSessionMode): Promise<boolean>
  • Checks if a session would be supported for the creation options specified

    Parameters

    • sessionMode: XRSessionMode

      session mode to check if supported eg. immersive-vr

    Returns Promise<boolean>

    A Promise that resolves to true if supported and false if not

resetReferenceSpaceSearch playground for resetReferenceSpace

  • resetReferenceSpace(): void
  • Resets the reference space to the one started the session

    Returns void

runXRRenderLoopSearch playground for runXRRenderLoop

  • runXRRenderLoop(): void
  • Starts rendering to the xr layer

    Returns void

setReferenceSpaceTypeAsyncSearch playground for setReferenceSpaceTypeAsync

  • Sets the reference space on the xr session

    Parameters

    Returns Promise<XRReferenceSpace>

    a promise that will resolve once the reference space has been set

updateRenderStateAsyncSearch playground for updateRenderStateAsync

  • Updates the render state of the session

    Parameters

    Returns Promise<void>

    a promise that resolves once the render state has been updated

Static IsSessionSupportedAsyncSearch playground for IsSessionSupportedAsync

  • IsSessionSupportedAsync(sessionMode: XRSessionMode): Promise<boolean>
  • Returns a promise that resolves with a boolean indicating if the provided session mode is supported by this browser

    Parameters

    Returns Promise<boolean>

    a promise with boolean as final value

Legend

  • Constructor
  • Property
  • Method
  • Accessor
  • Property
  • Method
  • Inherited property
  • Inherited method
  • Static property
  • Static method