Skip to content

Class: Locomotor

Defined in: packages/locomotor/src/core/locomotor.ts:56

Main thread interface for locomotion physics engine Supports both web worker mode (default) and inline mode

  • Worker mode: Runs physics engine in a separate thread for better performance
  • Inline mode: Runs physics engine in the same thread for snappier controls

Use LocomotorConfig.useWorker to control the mode (default: true)

Constructors

Constructor

new Locomotor(config): Locomotor

Defined in: packages/locomotor/src/core/locomotor.ts:84

Parameters

config

LocomotorConfig = {}

Returns

Locomotor

Properties

hitTestNormal

hitTestNormal: Vector3

Defined in: packages/locomotor/src/core/locomotor.ts:58


hitTestTarget

hitTestTarget: Object3D

Defined in: packages/locomotor/src/core/locomotor.ts:57


isGrounded

isGrounded: boolean = false

Defined in: packages/locomotor/src/core/locomotor.ts:59


position

position: Vector3

Defined in: packages/locomotor/src/core/locomotor.ts:60

Methods

addEnvironment()

addEnvironment(object3D, type): number

Defined in: packages/locomotor/src/core/locomotor.ts:206

Parameters

object3D

Object3D

type

string = EnvironmentType.STATIC

Returns

number


initialize()

initialize(): Promise<void>

Defined in: packages/locomotor/src/core/locomotor.ts:102

Returns

Promise<void>


isInitialized()

isInitialized(): boolean

Defined in: packages/locomotor/src/core/locomotor.ts:375

Returns

boolean


jump()

jump(): void

Defined in: packages/locomotor/src/core/locomotor.ts:363

Returns

void


removeEnvironment()

removeEnvironment(envHandle): void

Defined in: packages/locomotor/src/core/locomotor.ts:249

Parameters

envHandle

number

Returns

void


requestHitTest()

requestHitTest(origin, direction): void

Defined in: packages/locomotor/src/core/locomotor.ts:338

Parameters

origin

Vector3

direction

Vector3

Returns

void


slide()

slide(direction): void

Defined in: packages/locomotor/src/core/locomotor.ts:310

Parameters

direction

Vector3

Returns

void


teleport()

teleport(position): void

Defined in: packages/locomotor/src/core/locomotor.ts:324

Parameters

position

Vector3

Returns

void


terminate()

terminate(): void

Defined in: packages/locomotor/src/core/locomotor.ts:135

Returns

void


update()

update(delta): void

Defined in: packages/locomotor/src/core/locomotor.ts:192

Update method for inline mode (when useWorker is false) This method must be called every frame when using inline mode. In worker mode, this method does nothing as updates are handled automatically.

Parameters

delta

number

Time in seconds since last update

Returns

void


updateConfig()

updateConfig(config): void

Defined in: packages/locomotor/src/core/locomotor.ts:147

Parameters

config

Partial<LocomotorConfig>

Returns

void


updateKinematicEnvironments()

updateKinematicEnvironments(envHandles?): void

Defined in: packages/locomotor/src/core/locomotor.ts:277

Parameters

envHandles?

number[]

Returns

void