Skip to content

@modoki/engine / index / RigidBody3D

Variable: RigidBody3D

const RigidBody3D: Trait<{ angularDamping: number; avx: number; avy: number; avz: number; bodyType: BodyType3D; canSleep: boolean; ccd: boolean; fixedRotation: boolean; gravityScale: number; isSleeping: boolean; linearDamping: number; lockRotX: boolean; lockRotY: boolean; lockRotZ: boolean; lockTransX: boolean; lockTransY: boolean; lockTransZ: boolean; vx: number; vy: number; vz: number; }>

The motion half of a 3D physics entity (pair with Collider3D for a shape). Linear velocity is in world units/s, angular velocity in radians/s — both in the Three.js frame (right-handed, +Y up), the SAME space as Transform. Unlike the 2D side there is NO axis flip: ECS and Rapier3D are both right-handed Y-up, so the physics system only scales lengths by Physics3D.unitsPerMeter (default 1) and converts Transform's Euler rx/ry/rz ↔ Rapier's quaternion. The velocity fields are read-back each frame for dynamic bodies (runtimeOnly).

Built with Modoki.