Skip to content

Class: XROrigin ​

Defined in: packages/xr-input/src/rig/xr-origin.ts:19

Extends ​

  • Group

Constructors ​

Constructor ​

new XROrigin(): XROrigin

Defined in: packages/xr-input/src/rig/xr-origin.ts:75

Returns ​

XROrigin

Overrides ​

Group.constructor

Properties ​

eyeSpace ​

readonly eyeSpace: Group

Defined in: packages/xr-input/src/rig/xr-origin.ts:33

Latest valid gaze target-ray pose. Consult gazeOrigin before use.


gazeOrigin ​

gazeOrigin: GazeOrigin = 'none'

Defined in: packages/xr-input/src/rig/xr-origin.ts:36

Reports whether XROrigin.eyeSpace has a valid gaze pose this frame.


gripSpaces ​

readonly gripSpaces: object

Defined in: packages/xr-input/src/rig/xr-origin.ts:44

Primary controller grip poses copied from XRInputSource.gripSpace. Attach held objects as children and tune their local transform for the model; grip orientation is device/profile-defined and can differ from the target ray. Sources without a gripSpace fall back to the ray pose.

left ​

left: Group<Object3DEventMap>

right: Group<Object3DEventMap>


readonly head: Group

Defined in: packages/xr-input/src/rig/xr-origin.ts:21

Viewer pose relative to this origin, updated from XRFrame.getViewerPose.


indexTipSpaces ​

readonly indexTipSpaces: object

Defined in: packages/xr-input/src/rig/xr-origin.ts:67

Spaces representing the index finger tip positions for each hand. Used by TouchPointer for poke interactions. Updated from hand tracking joint data when hands are active. Falls back to raySpaces when controllers are used.

left ​

left: Group<Object3DEventMap>

right ​

right: Group<Object3DEventMap>


raySpaces ​

readonly raySpaces: object

Defined in: packages/xr-input/src/rig/xr-origin.ts:27

Primary target-ray poses copied from XRInputSource.targetRaySpace. Local -Z is the pointing direction used by WebXR ray interactions.

left ​

left: Group<Object3DEventMap>

right ​

right: Group<Object3DEventMap>


secondaryGripSpaces ​

readonly secondaryGripSpaces: object

Defined in: packages/xr-input/src/rig/xr-origin.ts:56

Grip poses for additional same-handed input sources.

left ​

left: Group<Object3DEventMap>

right ​

right: Group<Object3DEventMap>


secondaryRaySpaces ​

readonly secondaryRaySpaces: object

Defined in: packages/xr-input/src/rig/xr-origin.ts:50

Target-ray poses for additional same-handed input sources.

left ​

left: Group<Object3DEventMap>

right ​

right: Group<Object3DEventMap>

Methods ​

applyTrackedEyePose() ​

applyTrackedEyePose(transform): void

Defined in: packages/xr-input/src/rig/xr-origin.ts:113

Overwrite XROrigin.eyeSpace with a real eye-tracking pose and flip XROrigin.gazeOrigin to 'tracked'.

Parameters ​

transform ​

XRRigidTransform

Gaze target-ray transform, posed against the same reference space XROrigin.updateHead uses — i.e. this group's space.

Returns ​

void


clearGaze() ​

clearGaze(): void

Defined in: packages/xr-input/src/rig/xr-origin.ts:127

Reset gaze to a known-unavailable state. Called when the session ends so XROrigin.gazeOrigin doesn't report a stale tracked pose.

Returns ​

void


updateHead() ​

updateHead(frame, referenceSpace): void

Defined in: packages/xr-input/src/rig/xr-origin.ts:94

Parameters ​

frame ​

XRFrame

referenceSpace ​

XRReferenceSpace

Returns ​

void

Privacy | Terms