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.

Defined in​

m2c2kit/packages/physics/src/PhysicsBodyOptions.ts:64


angularVelocity?​

optional angularVelocity: number

Body angular velocity.

Defined in​

m2c2kit/packages/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.

Defined in​

m2c2kit/packages/physics/src/PhysicsBodyOptions.ts:98


circleOfRadius?​

optional circleOfRadius: number

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

Defined in​

m2c2kit/packages/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).

Defined in​

m2c2kit/packages/physics/src/PhysicsBodyOptions.ts:106


damping?​

optional damping: number

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

Defined in​

m2c2kit/packages/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.

Defined in​

m2c2kit/packages/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

Defined in​

m2c2kit/packages/physics/src/PhysicsBodyOptions.ts:16


friction?​

optional friction: number

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

Defined in​

m2c2kit/packages/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.

Defined in​

m2c2kit/packages/physics/src/PhysicsBodyOptions.ts:34


mass?​

optional mass: number

The mass of the body.

Remarks​

Density will automatically be calculated when mass is set.

Defined in​

m2c2kit/packages/physics/src/PhysicsBodyOptions.ts:70


rect?​

optional rect: Size

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

Defined in​

m2c2kit/packages/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.

Defined in​

m2c2kit/packages/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.

Defined in​

m2c2kit/packages/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.

Defined in​

m2c2kit/packages/physics/src/PhysicsBodyOptions.ts:83


velocity?​

optional velocity: Vector

The velocity of the body.

Defined in​

m2c2kit/packages/physics/src/PhysicsBodyOptions.ts:50