Skip to main content

Interface: PhysicsBodyOptions

Properties

allowsRotation?

optional allowsRotation: boolean

Whether or not the body can rotate. Defaults to true.

Remarks

If true, this sets the Matter.js inertia property to Infinity.

Source

physics/src/PhysicsBodyOptions.ts:64


angularVelocity?

optional angularVelocity: number

Body angular velocity.

Source

physics/src/PhysicsBodyOptions.ts:87


categoryBitMask?

optional categoryBitMask: number

A 32-bit mask specifying which categories this physics body belongs to.

Remarks

There are up to 32 different categories that physics bodies can belong to. Each category is represented by a bit in the mask. For example, if a body belongs to categories 1 and 3, its category bit mask is 0b00000000000000000000000000000101. Along with the collisionBitMask, this property determines which other bodies this physics body can collide with. Default category for all physics bodies is 1.

Source

physics/src/PhysicsBodyOptions.ts:98


circleOfRadius?

optional circleOfRadius: number

A circular physics body of the given radius centered on the node.

Source

physics/src/PhysicsBodyOptions.ts:8


collisionBitMask?

optional collisionBitMask: number

A 32-bit mask specifying which categories this physics body can collide with.

Remarks

This value is a bit mask of the other physics body categories that this body can collide with. Default is 0xFFFFFFFF, which means this body can collide with all other categories (e.g., all physics bodies).

Source

physics/src/PhysicsBodyOptions.ts:106


damping?

optional damping: number

Friction due to air forces on the body, in the range [0, 1].

Source

physics/src/PhysicsBodyOptions.ts:58


density?

optional density: number

Body density (mass per unit area)

Remarks

Mass will automatically be calculated when density is set.

Source

physics/src/PhysicsBodyOptions.ts:76


edgeLoop?

optional edgeLoop: Size & object

A region that physics bodies cannot penetrate.

Type declaration

thickness?

optional thickness: number

The thickness of the edge loop. Defaults to 50.

Remarks

If body A is moving rapidly and/or is small, and body B is also small, collisions between the two bodies may not be detected. This can manifest as body A "passing through" body B. This is called "tunneling". If body B is an edge loop, one way to reduce tunneling is to increase the thickness of the edge loop. See https://github.com/liabru/matter-js/issues/5

Source

physics/src/PhysicsBodyOptions.ts:16


friction?

optional friction: number

Friction of the body, in the range [0, 1].

Source

physics/src/PhysicsBodyOptions.ts:54


isDynamic?

optional isDynamic: boolean

Whether or not the physics body moves in response to forces. Defaults to true.

Remarks

Once set, this property cannot be changed. This is negated and mapped to the Matter.js static property.

Source

physics/src/PhysicsBodyOptions.ts:34


mass?

optional mass: number

The mass of the body.

Remarks

Density will automatically be calculated when mass is set.

Source

physics/src/PhysicsBodyOptions.ts:70


rect?

optional rect: Size

A rectangular physics body of the given size centered on the node.

Source

physics/src/PhysicsBodyOptions.ts:12


resting?

optional resting: boolean

Whether or not the physics body currently moves in response to forces. Defaults to false.

Remarks

Unlike isDynamic, this property can be changed after the body is created. This is mapped to the Matter.js sleeping property.

Source

physics/src/PhysicsBodyOptions.ts:40


restitution?

optional restitution: number

How elastic (bouncy) the body is.

Remarks

Range is 0 to 1. 0 means collisions are not elastic at all (no bouncing), 1 means collisions are perfectly elastic. Defaults to 0. This is mapped to the Matter.js restitution property.

Source

physics/src/PhysicsBodyOptions.ts:46


speed?

optional speed: number

Body speed.

Remarks

If speed is set, the direction will be maintained when velocity is updated.

Source

physics/src/PhysicsBodyOptions.ts:83


velocity?

optional velocity: Vector

The velocity of the body.

Source

physics/src/PhysicsBodyOptions.ts:50