WebXRAbstractMotionController

An Abstract Motion controller This class receives an xrInput and a profile layout and uses those to initialize the components Each component has an observable to check for changes in value and state

Hierarchy

Implements

Index

Constructors

constructor

Find examples in Playground

Properties

Readonly components

Find examples in Playground
components: object

A map of components (WebXRControllerComponent) in this motion controller Components have a ComponentType and can also have both button and axis definitions

Type declaration

disableAnimation

Find examples in Playground
disableAnimation: boolean

Disable the model's animation. Can be set at any time.

gamepadObject

Find examples in Playground

The gamepad object correlating to this controller

handedness

Find examples in Playground

handedness (left/right/none) of this controller

onModelLoadedObservable

Find examples in Playground
onModelLoadedObservable: Observable<WebXRAbstractMotionController>

Observers registered here will be triggered when the model of this controller is done loading

Abstract profileId

Find examples in Playground
profileId: string

The profile id of this motion controller

rootMesh

Find examples in Playground

The root mesh of the model. It is null if the model was not yet initialized

Accessors

handness

Find examples in Playground
  • Backwards compatibility due to a deeply-integrated typo

    Returns XREye

Methods

dispose

Find examples in Playground
  • dispose(): void
  • Dispose this controller, the model mesh and all its components

    Returns void

getAllComponentsOfType

Find examples in Playground

getComponent

Find examples in Playground
  • get a component based an its component id as defined in layout.components

    Parameters

    • id: string

      the id of the component

    Returns WebXRControllerComponent

    the component correlates to the id or undefined if not found

getComponentIds

Find examples in Playground
  • getComponentIds(): string[]
  • Get the list of components available in this motion controller

    Returns string[]

    an array of strings correlating to available components

getComponentOfType

Find examples in Playground

getMainComponent

Find examples in Playground
  • Get the main (Select) component of this controller as defined in the layout

    Returns WebXRControllerComponent

    the main component of this controller

loadModel

Find examples in Playground
  • loadModel(): Promise<boolean>
  • Loads the model correlating to this controller When the mesh is loaded, the onModelLoadedObservable will be triggered

    Returns Promise<boolean>

    A promise fulfilled with the result of the model loading

pulse

Find examples in Playground
  • pulse(value: number, duration: number, hapticActuatorIndex?: number): Promise<boolean>
  • Pulse (vibrate) this controller If the controller does not support pulses, this function will fail silently and return Promise directly after called Consecutive calls to this function will cancel the last pulse call

    Parameters

    • value: number

      the strength of the pulse in 0.0...1.0 range

    • duration: number

      Duration of the pulse in milliseconds

    • Optional hapticActuatorIndex: number

      optional index of actuator (will usually be 0)

    Returns Promise<boolean>

    a promise that will send true when the pulse has ended and false if the device doesn't support pulse or an error accrued

updateFromXRFrame

Find examples in Playground
  • updateFromXRFrame(xrFrame: XRFrame): void
  • Update this model using the current XRFrame

    Parameters

    • xrFrame: XRFrame

      the current xr frame to use and update the model

    Returns void

Generated using TypeDoc