EventDispatcherObject3D

OculusHandPointerModel

Represents an Oculus hand pointer model.

Import

OculusHandPointerModel is an addon, and must be imported explicitly, see Installation#Addons.

import { OculusHandPointerModel } from 'three/addons/webxr/OculusHandPointerModel.js';

Constructor

new OculusHandPointerModel( hand : Group, controller : Group )

Constructs a new Oculus hand model.

hand

The hand controller.

controller

The WebXR controller in target ray space.

Properties

.attached : boolean

Whether the model is attached or not.

Default is false.

.controller : Group

The WebXR controller in target ray space.

.cursorObject : Mesh

The cursor object.

Default is null.

.hand : Group

The hand controller.

.pinched : boolean

Whether the model is pinched or not.

Default is false.

.pointerGeometry : BufferGeometry

The pointer geometry.

Default is null.

.pointerMesh : Mesh

The pointer mesh.

Default is null.

.pointerObject : Object3D

The pointer object that holds the pointer mesh.

Default is null.

.raycaster : Raycaster

The internal raycaster used for detecting intersections.

Default is null.

Methods

.checkIntersections( objects : Array.<Object3D>, recursive : boolean )

Checks for intersections between the model's raycaster and the given objects. The method updates the cursor object to the intersection point.

objects

The 3D objects to check for intersection with the ray.

recursive

If set to true, it also checks all descendants. Otherwise it only checks intersection with the object.

Default is false.

.createPointer()

Creates a pointer mesh and adds it to this model.

.dispose()

Frees the GPU-related resources allocated by this instance. Call this method whenever this instance is no longer used in your app.

.intersectObject( object : Object3D, recursive : boolean ) : Array.<Raycaster~Intersection>

Performs an intersection test with the model's raycaster and the given object.

object

The 3D object to check for intersection with the ray.

recursive

If set to true, it also checks all descendants. Otherwise it only checks intersection with the object.

Default is true.

Returns: An array holding the intersection points.

.intersectObjects( objects : Array.<Object3D>, recursive : boolean ) : Array.<Raycaster~Intersection>

Performs an intersection test with the model's raycaster and the given objects.

objects

The 3D objects to check for intersection with the ray.

recursive

If set to true, it also checks all descendants. Otherwise it only checks intersection with the object.

Default is true.

Returns: An array holding the intersection points.

.isAttached() : boolean

Returns true is the model is attached.

Returns: Whether the model is attached or not.

.isPinched() : boolean

Returns true is the model is pinched.

Returns: Whether the model is pinched or not.

.setAttached( attached : boolean )

Sets the attached state.

attached

Whether the model is attached or not.

.setCursor( distance : number )

Sets the cursor to the given distance.

distance

The distance to set the cursor to.

.updateMatrixWorld( force : boolean )

Overwritten with a custom implementation. Makes sure the internal pointer and raycaster are updated.

force

When set to true, a recomputation of world matrices is forced even when Object3D#matrixWorldAutoUpdate is set to false.

Default is false.

Overrides: Object3D#updateMatrixWorld

Source

examples/jsm/webxr/OculusHandPointerModel.js