Skip to content

Physics2DAPI

Defined in: physics/Physics2D.ts:42

Unit contract: Box2D simulates in meters; the engine converts at the pixels-per-unit (PPU) boundary. Spatial queries (raycast / shapeCast / overlapCircle / moveCharacter) take and return world pixels, scaled by the live PPU. Everything that talks to the solver directly — forces, impulses, velocities, setGravity — is in meters (m/s, m/s²), matching the collider component dimensions. Convert with getPixelsPerUnit when mixing the two.

new Physics2DAPI(app): Physics2DAPI

Defined in: physics/Physics2D.ts:72

App

Physics2DAPI

applyAngularImpulse(entity, impulse): void

Defined in: physics/Physics2D.ts:130

number

number

void


applyForce(entity, force): void

Defined in: physics/Physics2D.ts:89

number

Vec2

void


applyImpulse(entity, impulse): void

Defined in: physics/Physics2D.ts:93

number

Vec2

void


applyTorque(entity, torque): void

Defined in: physics/Physics2D.ts:126

number

number

void


createMouseJoint(entity, target, opts?, ppu?): boolean

Defined in: physics/Physics2D.ts:467

number

Vec2

number

number

number

number = ...

boolean


createRevoluteJoint(entityA, entityB, anchorA, anchorB, options?): boolean

Defined in: physics/Physics2D.ts:134

number

number

Vec2

Vec2

boolean

boolean

boolean

number

number

number

number

boolean


destroyJoint(entity): void

Defined in: physics/Physics2D.ts:153

number

void


destroyMouseJoint(): void

Defined in: physics/Physics2D.ts:483

void


enableDistanceJointLimit(entity, enable): void

Defined in: physics/Physics2D.ts:352

number

boolean

void


enableDistanceJointMotor(entity, enable): void

Defined in: physics/Physics2D.ts:360

number

boolean

void


enableDistanceJointSpring(entity, enable): void

Defined in: physics/Physics2D.ts:348

number

boolean

void


enablePrismaticJointLimit(entity, enable): void

Defined in: physics/Physics2D.ts:388

number

boolean

void


enablePrismaticJointMotor(entity, enable): void

Defined in: physics/Physics2D.ts:396

number

boolean

void


enablePrismaticJointSpring(entity, enable): void

Defined in: physics/Physics2D.ts:384

number

boolean

void


enableRevoluteLimit(entity, enable): void

Defined in: physics/Physics2D.ts:169

number

boolean

void


enableRevoluteMotor(entity, enable): void

Defined in: physics/Physics2D.ts:165

number

boolean

void


enableWheelJointLimit(entity, enable): void

Defined in: physics/Physics2D.ts:416

number

boolean

void


enableWheelJointMotor(entity, enable): void

Defined in: physics/Physics2D.ts:424

number

boolean

void


enableWheelJointSpring(entity, enable): void

Defined in: physics/Physics2D.ts:412

number

boolean

void


getAngularVelocity(entity): number

Defined in: physics/Physics2D.ts:122

number

number


getCenterOfMass(entity, ppu?): Vec2

Defined in: physics/Physics2D.ts:319

number

number = ...

Vec2


getDistanceJointCurrentLength(entity, ppu?): number

Defined in: physics/Physics2D.ts:340

number

number = ...

number


getDistanceJointLength(entity, ppu?): number

Defined in: physics/Physics2D.ts:336

number

number = ...

number


getDistanceJointMotorForce(entity): number

Defined in: physics/Physics2D.ts:372

number

number


getGravity(): Vec2

Defined in: physics/Physics2D.ts:112

Vec2


getInertia(entity): number

Defined in: physics/Physics2D.ts:315

number

number


getLinearVelocity(entity): Vec2

Defined in: physics/Physics2D.ts:101

number

Vec2


getMass(entity): number

Defined in: physics/Physics2D.ts:311

number

number


getMassData(entity, ppu?): MassData

Defined in: physics/Physics2D.ts:328

number

number = ...

MassData


getPixelsPerUnit(): number

Defined in: physics/Physics2D.ts:68

Live pixels-per-unit (world pixels per Box2D meter). Collider dimensions are stored in meters, so consumers that cast a collider’s shape through the pixel-space query API (raycast/shapeCast) must scale by this.

number


getPrismaticJointMotorForce(entity): number

Defined in: physics/Physics2D.ts:408

number

number


getPrismaticJointSpeed(entity, ppu?): number

Defined in: physics/Physics2D.ts:380

number

number = ...

number


getPrismaticJointTranslation(entity, ppu?): number

Defined in: physics/Physics2D.ts:376

number

number = ...

number


getRevoluteAngle(entity): number

Defined in: physics/Physics2D.ts:177

number

number


getRevoluteMotorTorque(entity): number

Defined in: physics/Physics2D.ts:181

number

number


getWheelJointMotorTorque(entity): number

Defined in: physics/Physics2D.ts:436

number

number


hasMouseJoint(): boolean

Defined in: physics/Physics2D.ts:487

boolean


isAwake(entity): boolean

Defined in: physics/Physics2D.ts:225

number

boolean


moveCharacter(pos, c1, c2, radius, velocity, dt, up, floorCos, maskBits, self, skinWidth?, maxSlides?, snapLength?, slideOnCeiling?, ppu?): MoverResult | null

Defined in: physics/Physics2D.ts:276

Advance a kinematic capsule character one step against the world using Box2D’s native mover (collide-into-planes + depenetrating slide). Unlike a raw shape cast this resolves resting/touching contacts with valid normals, so a grounded character slides instead of wedging. Capsule endpoints/radius and pos/velocity are world pixels; dt seconds; up a unit vector; floorCos = cos(floorMaxAngle). self is excluded from the collision. Returns null if the module isn’t ready.

Vec2

Vec2

Vec2

number

Vec2

number

Vec2

number

number

number

number = 0

number = 5

number = 0

boolean = true

number = ...

MoverResult | null


overlapAABB(min, max, maskBits?, ppu?): number[]

Defined in: physics/Physics2D.ts:302

Vec2

Vec2

number = 0xFFFF

number = ...

number[]


overlapCircle(center, radius, maskBits?, ppu?): number[]

Defined in: physics/Physics2D.ts:212

Vec2

number

number = 0xFFFF

number = ...

number[]


raycast(origin, direction, maxDistance, maskBits?, ppu?): RaycastHit[]

Defined in: physics/Physics2D.ts:185

Vec2

Vec2

number

number = 0xFFFF

number = ...

RaycastHit[]


setAngularVelocity(entity, omega): void

Defined in: physics/Physics2D.ts:118

number

number

void


setAwake(entity, awake): void

Defined in: physics/Physics2D.ts:221

number

boolean

void


setDistanceJointLength(entity, length, ppu?): void

Defined in: physics/Physics2D.ts:344

number

number

number = ...

void


setDistanceJointLimits(entity, minLength, maxLength, ppu?): void

Defined in: physics/Physics2D.ts:356

number

number

number

number = ...

void


setDistanceJointMaxMotorForce(entity, force): void

Defined in: physics/Physics2D.ts:368

number

number

void


setDistanceJointMotorSpeed(entity, speed): void

Defined in: physics/Physics2D.ts:364

number

number

void


setGravity(gravity): void

Defined in: physics/Physics2D.ts:108

World gravity in meters/s² (Box2D space), e.g. { x: 0, y: -9.81 }.

Vec2

void


setLinearVelocity(entity, velocity): void

Defined in: physics/Physics2D.ts:97

number

Vec2

void


setMotorJointAngularVelocity(entity, omega): void

Defined in: physics/Physics2D.ts:448

number

number

void


setMotorJointLinearVelocity(entity, velocity, ppu?): void

Defined in: physics/Physics2D.ts:444

number

Vec2

number = ...

void


setMotorJointMaxVelocityForce(entity, force): void

Defined in: physics/Physics2D.ts:452

number

number

void


setMotorJointMaxVelocityTorque(entity, torque): void

Defined in: physics/Physics2D.ts:456

number

number

void


setMouseTarget(target, ppu?): void

Defined in: physics/Physics2D.ts:479

Vec2

number = ...

void


setPrismaticJointLimits(entity, lower, upper, ppu?): void

Defined in: physics/Physics2D.ts:392

number

number

number

number = ...

void


setPrismaticJointMaxMotorForce(entity, force): void

Defined in: physics/Physics2D.ts:404

number

number

void


setPrismaticJointMotorSpeed(entity, speed): void

Defined in: physics/Physics2D.ts:400

number

number

void


setRevoluteLimits(entity, lower, upper): void

Defined in: physics/Physics2D.ts:173

number

number

number

void


setRevoluteMaxMotorTorque(entity, torque): void

Defined in: physics/Physics2D.ts:161

number

number

void


setRevoluteMotorSpeed(entity, speed): void

Defined in: physics/Physics2D.ts:157

number

number

void


setWheelJointLimits(entity, lower, upper, ppu?): void

Defined in: physics/Physics2D.ts:420

number

number

number

number = ...

void


setWheelJointMaxMotorTorque(entity, torque): void

Defined in: physics/Physics2D.ts:432

number

number

void


setWheelJointMotorSpeed(entity, speed): void

Defined in: physics/Physics2D.ts:428

number

number

void


shapeCastBox(center, halfExtents, angle, translation, maskBits?, ppu?): RaycastHit[]

Defined in: physics/Physics2D.ts:241

Vec2

Vec2

number

Vec2

number = 0xFFFF

number = ...

RaycastHit[]


shapeCastCapsule(center1, center2, radius, translation, maskBits?, ppu?): RaycastHit[]

Defined in: physics/Physics2D.ts:254

Vec2

Vec2

number

Vec2

number = 0xFFFF

number = ...

RaycastHit[]


shapeCastCircle(center, radius, translation, maskBits?, ppu?): RaycastHit[]

Defined in: physics/Physics2D.ts:229

Vec2

number

Vec2

number = 0xFFFF

number = ...

RaycastHit[]


static setDebugDraw(app, enabled): void

Defined in: physics/Physics2D.ts:523

App

boolean

void


static setDebugDrawConfig(app, config): void

Defined in: physics/Physics2D.ts:531

App

Partial<Physics2DDebugDrawConfig>

void