Skip to content

@orillusion/physics-rapier


Class: CharacterController

Defined in: packages/physics-rapier/character/CharacterController.ts:15

Kinematic character controller — Rapier-only, no ammo equivalent.

Owns its own kinematic-position-based body and collider; user calls move() each frame with a desired translation, controller resolves penetration, slope climbing, snap-to-ground.

Extends

  • ComponentBase

Constructors

Constructor

new CharacterController(): CharacterController

Returns

CharacterController

Inherited from

ComponentBase.constructor

Properties

object3D

object3D: Object3D = null

Defined in: src/components/ComponentBase.ts:29

owner object3D

Inherited from

ComponentBase.object3D


isDestroyed

isDestroyed: boolean = false

Defined in: src/components/ComponentBase.ts:77

Inherited from

ComponentBase.isDestroyed


shape

shape: ColliderDesc

Defined in: packages/physics-rapier/character/CharacterController.ts:26

Collider descriptor (typically a capsule). Set BEFORE start().


offset

offset: number = 0.01

Defined in: packages/physics-rapier/character/CharacterController.ts:29

Penetration prediction offset. Default 0.01.


maxSlopeClimbAngle

maxSlopeClimbAngle: number

Defined in: packages/physics-rapier/character/CharacterController.ts:31

Maximum slope angle the character can walk up (radians).


minSlopeSlideAngle

minSlopeSlideAngle: number

Defined in: packages/physics-rapier/character/CharacterController.ts:33

Below this slope angle the character starts sliding (radians).


snapToGround

snapToGround: number = 0.5

Defined in: packages/physics-rapier/character/CharacterController.ts:35

Snap-to-ground distance. 0 disables snapping.


applyImpulsesToDynamicBodies

applyImpulsesToDynamicBodies: boolean = true

Defined in: packages/physics-rapier/character/CharacterController.ts:37

Whether character pushes dynamic bodies it collides with.


autoStep

autoStep: object = null

Defined in: packages/physics-rapier/character/CharacterController.ts:39

Auto-step config: null to disable.

maxHeight

maxHeight: number

minWidth

minWidth: number

includeDynamic

includeDynamic: boolean

Accessors

visibleLayer

Get Signature

get visibleLayer(): number

Defined in: src/components/ComponentBase.ts:46

Composition-layer membership bitmask. The pass / camera / collector filters via

(component.visibleLayer & pass.layerMask & camera.cullingMask) !== 0

Defaults to VisibleLayer.Default (bit 0) so a fresh subclass is visible to passes whose layerMask is VisibleLayer.All (which includes bit 0). Application code can assign project-specific bits (1..31) to organise the scene into composition layers.

Returns

number

Set Signature

set visibleLayer(value): void

Defined in: src/components/ComponentBase.ts:50

Parameters
value

number

Returns

void

Inherited from

ComponentBase.visibleLayer


eventDispatcher

Get Signature

get eventDispatcher(): CEventDispatcher

Defined in: src/components/ComponentBase.ts:63

Returns

CEventDispatcher

Set Signature

set eventDispatcher(value): void

Defined in: src/components/ComponentBase.ts:68

Parameters
value

CEventDispatcher

Returns

void

Inherited from

ComponentBase.eventDispatcher


isStart

Get Signature

get isStart(): boolean

Defined in: src/components/ComponentBase.ts:79

Returns

boolean

Inherited from

ComponentBase.isStart


transform

Get Signature

get transform(): Transform

Defined in: src/components/ComponentBase.ts:89

Return the Transform component attached to the Object3D. Null before the component is attached — addComponent assigns object3D only after construction — so constructor-time callers can probe safely via this.transform?..

Returns

Transform

Inherited from

ComponentBase.transform


enable

Get Signature

get enable(): boolean

Defined in: src/components/ComponentBase.ts:113

Enable/disable components. The enabled components can be updated, while the disabled components cannot be updated.

Returns

boolean

Set Signature

set enable(value): void

Defined in: src/components/ComponentBase.ts:96

Enable/disable components. The enabled components can be updated, while the disabled components cannot be updated.

Parameters
value

boolean

Returns

void

Inherited from

ComponentBase.enable


body

Get Signature

get body(): RigidBody

Defined in: packages/physics-rapier/character/CharacterController.ts:112

Returns

RigidBody


collider

Get Signature

get collider(): Collider

Defined in: packages/physics-rapier/character/CharacterController.ts:113

Returns

Collider


native

Get Signature

get native(): KinematicCharacterController

Defined in: packages/physics-rapier/character/CharacterController.ts:114

Returns

KinematicCharacterController

Methods

init()

init(param?): void

Defined in: src/components/ComponentBase.ts:161

Parameters

param?

any

Returns

void

Inherited from

ComponentBase.init


stop()

stop(): void

Defined in: src/components/ComponentBase.ts:163

Returns

void

Inherited from

ComponentBase.stop


onEnable()?

optional onEnable(view?): any

Defined in: src/components/ComponentBase.ts:164

Parameters

view?

View3D

Returns

any

Inherited from

ComponentBase.onEnable


onDisable()?

optional onDisable(view?): any

Defined in: src/components/ComponentBase.ts:165

Parameters

view?

View3D

Returns

any

Inherited from

ComponentBase.onDisable


onLateUpdate()?

optional onLateUpdate(view?): any

Defined in: src/components/ComponentBase.ts:167

Parameters

view?

View3D

Returns

any

Inherited from

ComponentBase.onLateUpdate


onBeforeUpdate()?

optional onBeforeUpdate(view?): any

Defined in: src/components/ComponentBase.ts:168

Parameters

view?

View3D

Returns

any

Inherited from

ComponentBase.onBeforeUpdate


onCompute()?

optional onCompute(view?, command?): any

Defined in: src/components/ComponentBase.ts:169

Parameters

view?

View3D

command?

GPUCommandEncoder

Returns

any

Inherited from

ComponentBase.onCompute


onGraphic()?

optional onGraphic(view?): any

Defined in: src/components/ComponentBase.ts:170

Parameters

view?

View3D

Returns

any

Inherited from

ComponentBase.onGraphic


onParentChange()?

optional onParentChange(lastParent?, currentParent?): any

Defined in: src/components/ComponentBase.ts:171

Parameters

lastParent?

Object3D

currentParent?

Object3D

Returns

any

Inherited from

ComponentBase.onParentChange


onAddChild()?

optional onAddChild(child): any

Defined in: src/components/ComponentBase.ts:172

Parameters

child

Object3D

Returns

any

Inherited from

ComponentBase.onAddChild


onRemoveChild()?

optional onRemoveChild(child): any

Defined in: src/components/ComponentBase.ts:173

Parameters

child

Object3D

Returns

any

Inherited from

ComponentBase.onRemoveChild


cloneTo()

cloneTo(obj): void

Defined in: src/components/ComponentBase.ts:180

clone component data to target object3D

Parameters

obj

Object3D

target object3D

Returns

void

Inherited from

ComponentBase.cloneTo


copyComponent()

copyComponent(from): this

Defined in: src/components/ComponentBase.ts:182

Parameters

from

this

Returns

this

Inherited from

ComponentBase.copyComponent


beforeDestroy()

beforeDestroy(force?): void

Defined in: src/components/ComponentBase.ts:249

before release this component, object refrences are not be set null now.

Parameters

force?

boolean

Returns

void

Inherited from

ComponentBase.beforeDestroy


start()

start(): void

Defined in: packages/physics-rapier/character/CharacterController.ts:41

Returns

void

Overrides

ComponentBase.start


move()

move(desiredTranslation): void

Defined in: packages/physics-rapier/character/CharacterController.ts:73

Compute and apply a movement step. Internal pipeline:

  1. computeColliderMovement(desired) → resolves penetration / slopes
  2. read computedMovement() & computedGrounded()
  3. setNextKinematicTranslation to apply

Parameters

desiredTranslation

Vector3

Returns

void


onUpdate()

onUpdate(): void

Defined in: packages/physics-rapier/character/CharacterController.ts:91

Returns

void

Overrides

ComponentBase.onUpdate


destroy()

destroy(force?): void

Defined in: packages/physics-rapier/character/CharacterController.ts:97

release this component

Parameters

force?

boolean

Returns

void

Overrides

ComponentBase.destroy


wait()

wait(): Promise<void>

Defined in: packages/physics-rapier/character/CharacterController.ts:107

Returns

Promise<void>


isGrounded()

isGrounded(): boolean

Defined in: packages/physics-rapier/character/CharacterController.ts:110

Whether the character is touching the ground after the last move().

Returns

boolean