Skip to content

Class: XRHandVisualAdapter

Defined in: packages/xr-input/src/visual/adapter/hand-visual-adapter.ts:78

Extends

Constructors

Constructor

new XRHandVisualAdapter(playerSpace, handedness, visualsEnabled, visualClass, scene, camera, assetLoader): XRHandVisualAdapter

Defined in: packages/xr-input/src/visual/adapter/hand-visual-adapter.ts:95

Parameters

playerSpace

Group

handedness

XRHandedness

visualsEnabled

boolean

visualClass

VisualConstructor<VisualImplementation>

scene

Scene

camera

PerspectiveCamera

assetLoader

XRAssetLoader

Returns

XRHandVisualAdapter

Overrides

XRInputVisualAdapter.constructor

Properties

gripSpace

gripSpace: Group<Object3DEventMap>

Defined in: packages/xr-input/src/visual/adapter/base-visual-adapter.ts:62

Inherited from

XRInputVisualAdapter.gripSpace


handedness

handedness: XRHandedness

Defined in: packages/xr-input/src/visual/adapter/base-visual-adapter.ts:68

Inherited from

XRInputVisualAdapter.handedness


isPrimary

isPrimary: boolean = false

Defined in: packages/xr-input/src/visual/adapter/base-visual-adapter.ts:63

Inherited from

XRInputVisualAdapter.isPrimary


jointSpaces

jointSpaces: XRJointSpace[] = []

Defined in: packages/xr-input/src/visual/adapter/hand-visual-adapter.ts:79


jointTransforms?

optional jointTransforms: Float32Array

Defined in: packages/xr-input/src/visual/adapter/hand-visual-adapter.ts:80


raySpace

raySpace: Group<Object3DEventMap>

Defined in: packages/xr-input/src/visual/adapter/base-visual-adapter.ts:61

Inherited from

XRInputVisualAdapter.raySpace


visual?

optional visual: VisualImplementation

Defined in: packages/xr-input/src/visual/adapter/base-visual-adapter.ts:59

Inherited from

XRInputVisualAdapter.visual


cursorPool

static cursorPool: Mesh<BufferGeometry<NormalBufferAttributes, BufferGeometryEventMap>, MeshBasicMaterial, Object3DEventMap>[] = []

Defined in: packages/xr-input/src/visual/adapter/base-visual-adapter.ts:58

Inherited from

XRInputVisualAdapter.cursorPool


visualCache

static visualCache: Map<string, VisualImplementation>

Defined in: packages/xr-input/src/visual/adapter/base-visual-adapter.ts:170

Inherited from

XRInputVisualAdapter.visualCache

Accessors

connected

Get Signature

get connected(): boolean

Defined in: packages/xr-input/src/visual/adapter/base-visual-adapter.ts:143

Returns

boolean

Inherited from

XRInputVisualAdapter.connected


inputSource

Get Signature

get inputSource(): XRInputSource

Defined in: packages/xr-input/src/visual/adapter/base-visual-adapter.ts:148

Returns

XRInputSource

Inherited from

XRInputVisualAdapter.inputSource


pointerBusy

Get Signature

get pointerBusy(): boolean

Defined in: packages/xr-input/src/visual/adapter/base-visual-adapter.ts:166

Returns

boolean

Inherited from

XRInputVisualAdapter.pointerBusy

Methods

capturePose()

capturePose(refSpace): Promise<HandPose>

Defined in: packages/xr-input/src/visual/adapter/hand-visual-adapter.ts:226

Parameters

refSpace

XRSpace

Returns

Promise<HandPose>


connect()

connect(inputSource): void

Defined in: packages/xr-input/src/visual/adapter/hand-visual-adapter.ts:115

Parameters

inputSource

XRInputSource

Returns

void

Overrides

XRInputVisualAdapter.connect


disconnect()

disconnect(): void

Defined in: packages/xr-input/src/visual/adapter/hand-visual-adapter.ts:137

Returns

void

Overrides

XRInputVisualAdapter.disconnect


getIndexTipSpace()

getIndexTipSpace(): XRSpace

Defined in: packages/xr-input/src/visual/adapter/hand-visual-adapter.ts:240

Returns the XRSpace for the index finger tip, if available. Used for poke/touch interactions.

Returns

XRSpace


toggleVisual()

toggleVisual(enabled): void

Defined in: packages/xr-input/src/visual/adapter/hand-visual-adapter.ts:207

Parameters

enabled

boolean

Returns

void


update()

update(frame, delta): void

Defined in: packages/xr-input/src/visual/adapter/hand-visual-adapter.ts:146

Parameters

frame

XRFrame

delta

number

Returns

void

Overrides

XRInputVisualAdapter.update


updateVisualImplementation()

updateVisualImplementation<T>(visualClass): void

Defined in: packages/xr-input/src/visual/adapter/base-visual-adapter.ts:135

Swap the controller/hand visual to a different VisualImplementation subclass at runtime. Tears down the current visual (model removed from the scene graph, xrInput cleared) and triggers asset load + init() for the new class on the next tick.

Type Parameters

T

T extends VisualImplementation

Parameters

visualClass

VisualConstructor<T>

A VisualConstructor — typically a subclass of BaseControllerVisual (for controllers) or BaseHandVisual (for hands), or one of the built-in implementations such as AnimatedController, AnimatedControllerHand, or AnimatedHand.

Returns

void

Example

ts
import { BaseControllerVisual, type VisualConstructor } from '@iwsdk/xr-input';

class MyCustomController extends BaseControllerVisual {
  init() { ... }
}

controllerAdapter.updateVisualImplementation(
  MyCustomController as VisualConstructor<MyCustomController>,
);

Inherited from

XRInputVisualAdapter.updateVisualImplementation


createVisual()

static createVisual<T>(visualClass, inputSource, layout, enabled, scene, camera, assetLoader, profileAssetPath?): Promise<T>

Defined in: packages/xr-input/src/visual/adapter/base-visual-adapter.ts:172

Type Parameters

T

T extends VisualImplementation

Parameters

visualClass

VisualConstructor<T>

inputSource

XRInputSource

layout

InputLayout

enabled

boolean

scene

Scene

camera

PerspectiveCamera

assetLoader

XRAssetLoader

profileAssetPath?

string

Returns

Promise<T>

Inherited from

XRInputVisualAdapter.createVisual

Privacy | Terms