Skip to content

CharacterComp

Defined in: packages/threeplay/src/plugins/physics/types.ts:139

Fields added by character(): a kinematic character controller. move() (from pos) slides along walls instead of passing through; only its horizontal (x/z) part is used, vertical motion comes from gravity and jump(). Requires area(); do not combine with body().

optional add(this): void

Defined in: packages/threeplay/src/core/types.ts:63

Called when the object enters the scene (or when used on a live object).

GameObj

void

Comp.add


applyMove(delta, velocity): void

Defined in: packages/threeplay/src/plugins/transform/types.ts:36

delta is the displacement for this frame, velocity the requested units/s.

Vector3

Vector3

void

MoveHandler.applyMove


optional destroy(this): void

Defined in: packages/threeplay/src/core/types.ts:69

Called when the object is destroyed or the component removed.

GameObj

void

Comp.destroy


optional fixedUpdate(this): void

Defined in: packages/threeplay/src/core/types.ts:67

Called at the fixed physics rate (50 Hz by default).

GameObj

void

Comp.fixedUpdate


optional inspect(this): string | null | undefined

Defined in: packages/threeplay/src/core/types.ts:71

Short status line shown by the debug inspector.

GameObj

string | null | undefined

Comp.inspect


isFalling(): boolean

Defined in: packages/threeplay/src/plugins/physics/types.ts:149

boolean


isGrounded(): boolean

Defined in: packages/threeplay/src/plugins/physics/types.ts:148

boolean


jump(force?): void

Defined in: packages/threeplay/src/plugins/physics/types.ts:147

number

void


onGround(fn): EventController

Defined in: packages/threeplay/src/plugins/physics/types.ts:150

() => void

EventController


teleport(to): void

Defined in: packages/threeplay/src/plugins/physics/types.ts:151

Vec3Like

void


optional update(this): void

Defined in: packages/threeplay/src/core/types.ts:65

Called once per frame.

GameObj

void

Comp.update

optional conflicts?: string[]

Defined in: packages/threeplay/src/core/types.ts:61

Ids of components that can’t be on the same object (checked both ways).

Comp.conflicts


id: "character"

Defined in: packages/threeplay/src/plugins/physics/types.ts:140

Unique name. Two components with the same id replace each other.

Comp.id


optional require?: string[]

Defined in: packages/threeplay/src/core/types.ts:59

Ids of components that must be present on the object.

Comp.require


vel: Vector3

Defined in: packages/threeplay/src/plugins/physics/types.ts:146

Current velocity. Only vel.y is meaningful: it includes gravity and can be assigned (vel.y = 5 launches the character). Horizontal movement comes only from move()/moveTo(), so vel.x/vel.z are ignored when written.