:github_url: hide .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. .. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. .. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/PhysicsMaterial.xml. .. _class_PhysicsMaterial: PhysicsMaterial =============== **Inherits:** :ref:`Resource` **<** :ref:`RefCounted` **<** :ref:`Object` A material for physics properties. Description ----------- Provides a means of modifying the collision properties of a :ref:`PhysicsBody3D`. Properties ---------- +---------------------------+------------------------------------------------------------+-----------+ | :ref:`bool` | :ref:`absorbent` | ``false`` | +---------------------------+------------------------------------------------------------+-----------+ | :ref:`float` | :ref:`bounce` | ``0.0`` | +---------------------------+------------------------------------------------------------+-----------+ | :ref:`float` | :ref:`friction` | ``1.0`` | +---------------------------+------------------------------------------------------------+-----------+ | :ref:`bool` | :ref:`rough` | ``false`` | +---------------------------+------------------------------------------------------------+-----------+ Property Descriptions --------------------- .. _class_PhysicsMaterial_property_absorbent: - :ref:`bool` **absorbent** +-----------+----------------------+ | *Default* | ``false`` | +-----------+----------------------+ | *Setter* | set_absorbent(value) | +-----------+----------------------+ | *Getter* | is_absorbent() | +-----------+----------------------+ If ``true``, subtracts the bounciness from the colliding object's bounciness instead of adding it. ---- .. _class_PhysicsMaterial_property_bounce: - :ref:`float` **bounce** +-----------+-------------------+ | *Default* | ``0.0`` | +-----------+-------------------+ | *Setter* | set_bounce(value) | +-----------+-------------------+ | *Getter* | get_bounce() | +-----------+-------------------+ The body's bounciness. Values range from ``0`` (no bounce) to ``1`` (full bounciness). ---- .. _class_PhysicsMaterial_property_friction: - :ref:`float` **friction** +-----------+---------------------+ | *Default* | ``1.0`` | +-----------+---------------------+ | *Setter* | set_friction(value) | +-----------+---------------------+ | *Getter* | get_friction() | +-----------+---------------------+ The body's friction. Values range from ``0`` (frictionless) to ``1`` (maximum friction). ---- .. _class_PhysicsMaterial_property_rough: - :ref:`bool` **rough** +-----------+------------------+ | *Default* | ``false`` | +-----------+------------------+ | *Setter* | set_rough(value) | +-----------+------------------+ | *Getter* | 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. .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)` .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)` .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)` .. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)` .. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)` .. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)`