Up to date

This page is up to date for Godot 4.3. If you still find outdated information, please open an issue.

PhysicsMaterialยถ

Inherits: Resource < RefCounted < Object

Holds physics-related properties of a surface, namely its roughness and bounciness.

Descriptionยถ

Holds physics-related properties of a surface, namely its roughness and bounciness. This class is used to apply these properties to a physics body.

Propertiesยถ

bool

absorbent

false

float

bounce

0.0

float

friction

1.0

bool

rough

false


Property Descriptionsยถ

bool absorbent = false ๐Ÿ”—

  • void set_absorbent(value: bool)

  • bool is_absorbent()

If true, subtracts the bounciness from the colliding object's bounciness instead of adding it.


float bounce = 0.0 ๐Ÿ”—

  • void set_bounce(value: float)

  • float get_bounce()

The body's bounciness. Values range from 0 (no bounce) to 1 (full bounciness).

Note: Even with bounce set to 1.0, some energy will be lost over time due to linear and angular damping. To have a physics body that preserves all its energy over time, set bounce to 1.0, the body's linear damp mode to Replace (if applicable), its linear damp to 0.0, its angular damp mode to Replace (if applicable), and its angular damp to 0.0.


float friction = 1.0 ๐Ÿ”—

  • void set_friction(value: float)

  • float get_friction()

The body's friction. Values range from 0 (frictionless) to 1 (maximum friction).


bool rough = false ๐Ÿ”—

  • void set_rough(value: bool)

  • bool is_rough()

If true, the physics engine will use the friction of the object marked as "rough" when two objects collide. If false, the physics engine will use the lowest friction of all colliding objects instead. If true for both colliding objects, the physics engine will use the highest friction.