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