Skip to content

@orillusion/physics-rapier


Class: Rigidbody

Defined in: packages/physics-rapier/rigidbody/Rigidbody.ts:19

Rigidbody Component (Rapier backend).

Public API mirrors @orillusion/physics's Rigidbody where semantics line up. Rapier-only switches (lockTranslations, enableCcd) replace ammo's matrix-style setLinearFactor / setCcdMotionThreshold + sweptSphereRadius.

Extends

  • ComponentBase

Constructors

Constructor

new Rigidbody(): Rigidbody

Returns

Rigidbody

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


isSensor

isSensor: boolean = false

Defined in: packages/physics-rapier/rigidbody/Rigidbody.ts:42

Whether this body is a sensor (no contact response, fires triggerEnter/Exit). Must be set BEFORE start().


enableEvents

enableEvents: boolean = false

Defined in: packages/physics-rapier/rigidbody/Rigidbody.ts:48

Whether contact / trigger events are emitted. Must be set BEFORE start(). Off by default for performance.


onContactBegin?

optional onContactBegin?: ContactCallback

Defined in: packages/physics-rapier/rigidbody/Rigidbody.ts:51

Fires once when contact between two non-sensor bodies begins.


onContactStay?

optional onContactStay?: ContactCallback

Defined in: packages/physics-rapier/rigidbody/Rigidbody.ts:53

Fires every frame while contact persists (after onContactBegin).


onContactEnd?

optional onContactEnd?: ContactCallback

Defined in: packages/physics-rapier/rigidbody/Rigidbody.ts:55

Fires once when contact ends.


onTriggerEnter?

optional onTriggerEnter?: ContactCallback

Defined in: packages/physics-rapier/rigidbody/Rigidbody.ts:57

Fires once when a non-sensor body enters this sensor.


onTriggerExit?

optional onTriggerExit?: ContactCallback

Defined in: packages/physics-rapier/rigidbody/Rigidbody.ts:59

Fires once when a non-sensor body leaves this sensor.

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


bodyInited

Get Signature

get bodyInited(): boolean

Defined in: packages/physics-rapier/rigidbody/Rigidbody.ts:198

Returns

boolean


native

Get Signature

get native(): RigidBody

Defined in: packages/physics-rapier/rigidbody/Rigidbody.ts:201

Escape hatch to the native Rapier RigidBody. Opts out of cross-backend portability.

Returns

RigidBody


colliders

Get Signature

get colliders(): Collider[]

Defined in: packages/physics-rapier/rigidbody/Rigidbody.ts:203

Returns

Collider[]


shape

Get Signature

get shape(): ColliderDesc | ColliderDesc[]

Defined in: packages/physics-rapier/rigidbody/Rigidbody.ts:210

Collider descriptor used to build the body. Accepts a single shape, a compound (ChildShape[]) or a flat array of ColliderDesc. Set BEFORE start().

Returns

ColliderDesc | ColliderDesc[]

Set Signature

set shape(value): void

Defined in: packages/physics-rapier/rigidbody/Rigidbody.ts:213

Parameters
value

ColliderDesc | ChildShape[] | ColliderDesc[]

Returns

void


bodyType

Get Signature

get bodyType(): BodyType

Defined in: packages/physics-rapier/rigidbody/Rigidbody.ts:226

Returns

BodyType

Set Signature

set bodyType(value): void

Defined in: packages/physics-rapier/rigidbody/Rigidbody.ts:227

Parameters
value

BodyType

Returns

void


mass

Get Signature

get mass(): number

Defined in: packages/physics-rapier/rigidbody/Rigidbody.ts:238

Returns

number

Set Signature

set mass(value): void

Defined in: packages/physics-rapier/rigidbody/Rigidbody.ts:239

Parameters
value

number

Returns

void


restitution

Get Signature

get restitution(): number

Defined in: packages/physics-rapier/rigidbody/Rigidbody.ts:244

Returns

number

Set Signature

set restitution(value): void

Defined in: packages/physics-rapier/rigidbody/Rigidbody.ts:245

Parameters
value

number

Returns

void


friction

Get Signature

get friction(): number

Defined in: packages/physics-rapier/rigidbody/Rigidbody.ts:250

Returns

number

Set Signature

set friction(value): void

Defined in: packages/physics-rapier/rigidbody/Rigidbody.ts:251

Parameters
value

number

Returns

void


linearDamping

Get Signature

get linearDamping(): number

Defined in: packages/physics-rapier/rigidbody/Rigidbody.ts:256

Returns

number

Set Signature

set linearDamping(value): void

Defined in: packages/physics-rapier/rigidbody/Rigidbody.ts:257

Parameters
value

number

Returns

void


angularDamping

Get Signature

get angularDamping(): number

Defined in: packages/physics-rapier/rigidbody/Rigidbody.ts:262

Returns

number

Set Signature

set angularDamping(value): void

Defined in: packages/physics-rapier/rigidbody/Rigidbody.ts:263

Parameters
value

number

Returns

void


gravityScale

Get Signature

get gravityScale(): number

Defined in: packages/physics-rapier/rigidbody/Rigidbody.ts:268

Returns

number

Set Signature

set gravityScale(value): void

Defined in: packages/physics-rapier/rigidbody/Rigidbody.ts:269

Parameters
value

number

Returns

void


userIndex

Get Signature

get userIndex(): number

Defined in: packages/physics-rapier/rigidbody/Rigidbody.ts:274

Returns

number

Set Signature

set userIndex(value): void

Defined in: packages/physics-rapier/rigidbody/Rigidbody.ts:275

Parameters
value

number

Returns

void


linearVelocity

Get Signature

get linearVelocity(): Vector3

Defined in: packages/physics-rapier/rigidbody/Rigidbody.ts:280

Returns

Vector3

Set Signature

set linearVelocity(value): void

Defined in: packages/physics-rapier/rigidbody/Rigidbody.ts:285

Parameters
value

Vector3

Returns

void


angularVelocity

Get Signature

get angularVelocity(): Vector3

Defined in: packages/physics-rapier/rigidbody/Rigidbody.ts:289

Returns

Vector3

Set Signature

set angularVelocity(value): void

Defined in: packages/physics-rapier/rigidbody/Rigidbody.ts:294

Parameters
value

Vector3

Returns

void

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/rigidbody/Rigidbody.ts:64

Returns

void

Overrides

ComponentBase.start


_syncTransformFromBody()

_syncTransformFromBody(force?): void

Defined in: packages/physics-rapier/rigidbody/Rigidbody.ts:132

Pull body pose into the owner Object3D. Called by Physics.update AFTER world.step so the transform reflects the post-step pose in the SAME frame's render. Doing this in onUpdate (which runs BEFORE the render- loop callback) would render the pre-step pose and lag visuals one frame behind physics — visible during kinematic drag where the body chases mouse-set setNextKinematicTranslation targets every frame.

Parameters

force?

boolean = false

Returns

void


onUpdate()

onUpdate(): void

Defined in: packages/physics-rapier/rigidbody/Rigidbody.ts:153

Returns

void

Overrides

ComponentBase.onUpdate


destroy()

destroy(force?): void

Defined in: packages/physics-rapier/rigidbody/Rigidbody.ts:158

release this component

Parameters

force?

boolean

Returns

void

Overrides

ComponentBase.destroy


wait()

wait(): Promise<RigidBody>

Defined in: packages/physics-rapier/rigidbody/Rigidbody.ts:193

Returns

Promise<RigidBody>


enableCcd()

enableCcd(value): void

Defined in: packages/physics-rapier/rigidbody/Rigidbody.ts:299

Continuous Collision Detection. Replaces ammo's two-knob CCD API.

Parameters

value

boolean

Returns

void


lockTranslations()

lockTranslations(x, y, z): void

Defined in: packages/physics-rapier/rigidbody/Rigidbody.ts:305

Lock translation axes. true locks the axis. (Rapier-only)

Parameters

x

boolean

y

boolean

z

boolean

Returns

void


lockRotations()

lockRotations(x, y, z): void

Defined in: packages/physics-rapier/rigidbody/Rigidbody.ts:310

Lock rotation axes. true locks the axis. (Rapier-only)

Parameters

x

boolean

y

boolean

z

boolean

Returns

void


applyImpulse()

applyImpulse(impulse, point?): void

Defined in: packages/physics-rapier/rigidbody/Rigidbody.ts:314

Parameters

impulse

Vector3

point?

Vector3

Returns

void


applyTorqueImpulse()

applyTorqueImpulse(torque): void

Defined in: packages/physics-rapier/rigidbody/Rigidbody.ts:327

Parameters

torque

Vector3

Returns

void


applyForce()

applyForce(force, point?): void

Defined in: packages/physics-rapier/rigidbody/Rigidbody.ts:331

Parameters

force

Vector3

point?

Vector3

Returns

void


clearForcesAndVelocities()

clearForcesAndVelocities(): void

Defined in: packages/physics-rapier/rigidbody/Rigidbody.ts:344

Returns

void


updateTransform()

updateTransform(position?, rotation?, clearFV?): void

Defined in: packages/physics-rapier/rigidbody/Rigidbody.ts:353

Force pose; mirrors ammo plugin's Rigidbody.updateTransform.

Parameters

position?

Vector3

rotation?

Vector3 | Quaternion

clearFV?

boolean

Returns

void