:github_url: hide .. _class_PhysicsMaterial: PhysicsMaterial =============== **Наследует:** :ref:`Resource` **<** :ref:`RefCounted` **<** :ref:`Object` Содержит физические свойства поверхности, а именно ее шероховатость и упругость. .. rst-class:: classref-introduction-group Описание ---------------- Содержит физические свойства поверхности, а именно ее шероховатость и упругость. Этот класс используется для применения этих свойств к физическому телу. .. rst-class:: classref-reftable-group Свойства ---------------- .. table:: :widths: auto +---------------------------+------------------------------------------------------------+-----------+ | :ref:`bool` | :ref:`absorbent` | ``false`` | +---------------------------+------------------------------------------------------------+-----------+ | :ref:`float` | :ref:`bounce` | ``0.0`` | +---------------------------+------------------------------------------------------------+-----------+ | :ref:`float` | :ref:`friction` | ``1.0`` | +---------------------------+------------------------------------------------------------+-----------+ | :ref:`bool` | :ref:`rough` | ``false`` | +---------------------------+------------------------------------------------------------+-----------+ .. rst-class:: classref-section-separator ---- .. rst-class:: classref-descriptions-group Описания свойств -------------------------------- .. _class_PhysicsMaterial_property_absorbent: .. rst-class:: classref-property :ref:`bool` **absorbent** = ``false`` :ref:`🔗` .. rst-class:: classref-property-setget - |void| **set_absorbent**\ (\ value\: :ref:`bool`\ ) - :ref:`bool` **is_absorbent**\ (\ ) Если ``true``, то вычитает упругость из упругости сталкивающегося объекта, а не прибавляет ее. .. rst-class:: classref-item-separator ---- .. _class_PhysicsMaterial_property_bounce: .. rst-class:: classref-property :ref:`float` **bounce** = ``0.0`` :ref:`🔗` .. rst-class:: classref-property-setget - |void| **set_bounce**\ (\ value\: :ref:`float`\ ) - :ref:`float` **get_bounce**\ (\ ) Упругость тела. Значения варьируются от ``0`` (без отскока) до ``1`` (полная упругость). \ **Примечание:** Даже если :ref:`bounce` установлен на ``1.0``, часть энергии будет потеряна со временем из-за линейного и углового затухания. Чтобы иметь физическое тело, которое сохраняет всю свою энергию с течением времени, установите :ref:`bounce` на ``1.0``, режим линейного затухания тела на **Replace** (если применимо), его линейное затухание на ``0.0``, его режим углового затухания на **Replace** (если применимо), а его угловое затухание на ``0.0``. .. rst-class:: classref-item-separator ---- .. _class_PhysicsMaterial_property_friction: .. rst-class:: classref-property :ref:`float` **friction** = ``1.0`` :ref:`🔗` .. rst-class:: classref-property-setget - |void| **set_friction**\ (\ value\: :ref:`float`\ ) - :ref:`float` **get_friction**\ (\ ) Трение тела. Значения варьируются от ``0`` (без трения) до ``1`` (максимальное трение). .. rst-class:: classref-item-separator ---- .. _class_PhysicsMaterial_property_rough: .. rst-class:: classref-property :ref:`bool` **rough** = ``false`` :ref:`🔗` .. rst-class:: classref-property-setget - |void| **set_rough**\ (\ value\: :ref:`bool`\ ) - :ref:`bool` **is_rough**\ (\ ) Если ``true``, физический движок будет использовать трение объекта, помеченного как «грубый», при столкновении двух объектов. Если ``false``, физический движок будет использовать самое низкое трение среди всех сталкивающихся объектов. Если ``true`` для обоих сталкивающихся объектов, физический движок будет использовать самое высокое трение. .. |virtual| replace:: :abbr:`virtual (Этот метод обычно должен быть переопределен пользователем, чтобы иметь какой-либо эффект.)` .. |required| replace:: :abbr:`required (This method is required to be overridden when extending its base class.)` .. |const| replace:: :abbr:`const (Этот метод не имеет побочных эффектов. Он не изменяет ни одну из переменных-членов экземпляра.)` .. |vararg| replace:: :abbr:`vararg (Этот метод принимает любое количество аргументов после описанных здесь.)` .. |constructor| replace:: :abbr:`constructor (Этот метод используется для создания типа.)` .. |static| replace:: :abbr:`static (Этот метод не нуждается в вызове экземпляра, поэтому его можно вызвать напрямую, используя имя класса.)` .. |operator| replace:: :abbr:`operator (Этот метод описывает допустимый оператор для использования с этим типом в качестве левого операнда.)` .. |bitfield| replace:: :abbr:`BitField (Это значение является целым числом, составленным как битовая маска следующих флагов.)` .. |void| replace:: :abbr:`void (Нет возвращаемого значения.)`