mirror of
https://github.com/godotengine/godot-docs-l10n.git
synced 2025-12-31 09:49:22 +03:00
2636 lines
221 KiB
ReStructuredText
2636 lines
221 KiB
ReStructuredText
:github_url: hide
|
||
|
||
.. _class_PhysicsServer2D:
|
||
|
||
PhysicsServer2D
|
||
===============
|
||
|
||
**Наследует:** :ref:`Object<class_Object>`
|
||
|
||
**Наследуется от:** :ref:`PhysicsServer2DExtension<class_PhysicsServer2DExtension>`
|
||
|
||
Серверный интерфейс для низкоуровневого доступа к 2D-физике.
|
||
|
||
.. rst-class:: classref-introduction-group
|
||
|
||
Описание
|
||
----------------
|
||
|
||
PhysicsServer2D — сервер, отвечающий за всю 2D-физику. Он может напрямую создавать и управлять всеми физическими объектами:
|
||
|
||
- *пространство* — это самодостаточный мир для физического моделирования. Оно содержит тела, области и сочленения. Его состояние может быть запрошено для получения информации о столкновениях и пересечениях, и можно изменить несколько параметров моделирования.
|
||
|
||
- *форма* — это геометрическая форма, такая как круг, прямоугольник, капсула или многоугольник. Ее можно использовать для обнаружения столкновений, добавив ее к телу/области, возможно, с дополнительным преобразованием относительно начала координат тела/области. Тела/области могут иметь несколько (преобразованных) форм, добавленных к ним, и одна форма может быть добавлена к телам/областям несколько раз с различными локальными преобразованиями.
|
||
|
||
- *тело* — это физический объект, который может находиться в статическом, кинематическом или жестком режиме. Его состояние (такое как положение и скорость) можно запрашивать и обновлять. Обратный вызов интеграции силы может быть установлен для настройки физики тела.
|
||
|
||
- *область* - это область в пространстве, которая может использоваться для обнаружения тел и областей, входящих и выходящих из нее. Обратный вызов мониторинга тела может быть установлен для сообщения о входе/выходе форм тела, и аналогичным образом может быть установлен обратный вызов мониторинга области. Гравитация и демпфирование могут быть переопределены в области путем установки параметров области.
|
||
|
||
- *соединение* - это ограничение, либо между двумя телами, либо на одном теле относительно точки. Такие параметры, как смещение сочленения и остаточная длина пружинного соединения, могут быть скорректированы.
|
||
|
||
Физические объекты в **PhysicsServer2D** могут быть созданы и изменены независимо; они не должны быть привязаны к узлам в дереве сцены.
|
||
|
||
\ **Примечание:** Все узлы 2D-физики используют физический сервер внутренне. Добавление физического узла в дерево сцены приведет к созданию соответствующего физического объекта на физическом сервере. Узел твердого тела регистрирует обратный вызов, который обновляет преобразование узла с преобразованием соответствующего объекта тела на физическом сервере (каждое обновление физики). Узел области регистрирует обратный вызов, чтобы информировать узел области о перекрытиях с соответствующим объектом области на физическом сервере. Узел raycast запрашивает прямое состояние соответствующего пространства на физическом сервере.
|
||
|
||
.. rst-class:: classref-reftable-group
|
||
|
||
Методы
|
||
------------
|
||
|
||
.. table::
|
||
:widths: auto
|
||
|
||
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`area_add_shape<class_PhysicsServer2D_method_area_add_shape>`\ (\ area\: :ref:`RID<class_RID>`, shape\: :ref:`RID<class_RID>`, transform\: :ref:`Transform2D<class_Transform2D>` = Transform2D(1, 0, 0, 1, 0, 0), disabled\: :ref:`bool<class_bool>` = false\ ) |
|
||
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`area_attach_canvas_instance_id<class_PhysicsServer2D_method_area_attach_canvas_instance_id>`\ (\ area\: :ref:`RID<class_RID>`, id\: :ref:`int<class_int>`\ ) |
|
||
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`area_attach_object_instance_id<class_PhysicsServer2D_method_area_attach_object_instance_id>`\ (\ area\: :ref:`RID<class_RID>`, id\: :ref:`int<class_int>`\ ) |
|
||
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`area_clear_shapes<class_PhysicsServer2D_method_area_clear_shapes>`\ (\ area\: :ref:`RID<class_RID>`\ ) |
|
||
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`RID<class_RID>` | :ref:`area_create<class_PhysicsServer2D_method_area_create>`\ (\ ) |
|
||
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`int<class_int>` | :ref:`area_get_canvas_instance_id<class_PhysicsServer2D_method_area_get_canvas_instance_id>`\ (\ area\: :ref:`RID<class_RID>`\ ) |const| |
|
||
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`int<class_int>` | :ref:`area_get_collision_layer<class_PhysicsServer2D_method_area_get_collision_layer>`\ (\ area\: :ref:`RID<class_RID>`\ ) |const| |
|
||
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`int<class_int>` | :ref:`area_get_collision_mask<class_PhysicsServer2D_method_area_get_collision_mask>`\ (\ area\: :ref:`RID<class_RID>`\ ) |const| |
|
||
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`int<class_int>` | :ref:`area_get_object_instance_id<class_PhysicsServer2D_method_area_get_object_instance_id>`\ (\ area\: :ref:`RID<class_RID>`\ ) |const| |
|
||
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`Variant<class_Variant>` | :ref:`area_get_param<class_PhysicsServer2D_method_area_get_param>`\ (\ area\: :ref:`RID<class_RID>`, param\: :ref:`AreaParameter<enum_PhysicsServer2D_AreaParameter>`\ ) |const| |
|
||
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`RID<class_RID>` | :ref:`area_get_shape<class_PhysicsServer2D_method_area_get_shape>`\ (\ area\: :ref:`RID<class_RID>`, shape_idx\: :ref:`int<class_int>`\ ) |const| |
|
||
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`int<class_int>` | :ref:`area_get_shape_count<class_PhysicsServer2D_method_area_get_shape_count>`\ (\ area\: :ref:`RID<class_RID>`\ ) |const| |
|
||
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`Transform2D<class_Transform2D>` | :ref:`area_get_shape_transform<class_PhysicsServer2D_method_area_get_shape_transform>`\ (\ area\: :ref:`RID<class_RID>`, shape_idx\: :ref:`int<class_int>`\ ) |const| |
|
||
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`RID<class_RID>` | :ref:`area_get_space<class_PhysicsServer2D_method_area_get_space>`\ (\ area\: :ref:`RID<class_RID>`\ ) |const| |
|
||
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`Transform2D<class_Transform2D>` | :ref:`area_get_transform<class_PhysicsServer2D_method_area_get_transform>`\ (\ area\: :ref:`RID<class_RID>`\ ) |const| |
|
||
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`area_remove_shape<class_PhysicsServer2D_method_area_remove_shape>`\ (\ area\: :ref:`RID<class_RID>`, shape_idx\: :ref:`int<class_int>`\ ) |
|
||
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`area_set_area_monitor_callback<class_PhysicsServer2D_method_area_set_area_monitor_callback>`\ (\ area\: :ref:`RID<class_RID>`, callback\: :ref:`Callable<class_Callable>`\ ) |
|
||
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`area_set_collision_layer<class_PhysicsServer2D_method_area_set_collision_layer>`\ (\ area\: :ref:`RID<class_RID>`, layer\: :ref:`int<class_int>`\ ) |
|
||
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`area_set_collision_mask<class_PhysicsServer2D_method_area_set_collision_mask>`\ (\ area\: :ref:`RID<class_RID>`, mask\: :ref:`int<class_int>`\ ) |
|
||
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`area_set_monitor_callback<class_PhysicsServer2D_method_area_set_monitor_callback>`\ (\ area\: :ref:`RID<class_RID>`, callback\: :ref:`Callable<class_Callable>`\ ) |
|
||
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`area_set_monitorable<class_PhysicsServer2D_method_area_set_monitorable>`\ (\ area\: :ref:`RID<class_RID>`, monitorable\: :ref:`bool<class_bool>`\ ) |
|
||
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`area_set_param<class_PhysicsServer2D_method_area_set_param>`\ (\ area\: :ref:`RID<class_RID>`, param\: :ref:`AreaParameter<enum_PhysicsServer2D_AreaParameter>`, value\: :ref:`Variant<class_Variant>`\ ) |
|
||
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`area_set_shape<class_PhysicsServer2D_method_area_set_shape>`\ (\ area\: :ref:`RID<class_RID>`, shape_idx\: :ref:`int<class_int>`, shape\: :ref:`RID<class_RID>`\ ) |
|
||
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`area_set_shape_disabled<class_PhysicsServer2D_method_area_set_shape_disabled>`\ (\ area\: :ref:`RID<class_RID>`, shape_idx\: :ref:`int<class_int>`, disabled\: :ref:`bool<class_bool>`\ ) |
|
||
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`area_set_shape_transform<class_PhysicsServer2D_method_area_set_shape_transform>`\ (\ area\: :ref:`RID<class_RID>`, shape_idx\: :ref:`int<class_int>`, transform\: :ref:`Transform2D<class_Transform2D>`\ ) |
|
||
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`area_set_space<class_PhysicsServer2D_method_area_set_space>`\ (\ area\: :ref:`RID<class_RID>`, space\: :ref:`RID<class_RID>`\ ) |
|
||
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`area_set_transform<class_PhysicsServer2D_method_area_set_transform>`\ (\ area\: :ref:`RID<class_RID>`, transform\: :ref:`Transform2D<class_Transform2D>`\ ) |
|
||
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`body_add_collision_exception<class_PhysicsServer2D_method_body_add_collision_exception>`\ (\ body\: :ref:`RID<class_RID>`, excepted_body\: :ref:`RID<class_RID>`\ ) |
|
||
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`body_add_constant_central_force<class_PhysicsServer2D_method_body_add_constant_central_force>`\ (\ body\: :ref:`RID<class_RID>`, force\: :ref:`Vector2<class_Vector2>`\ ) |
|
||
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`body_add_constant_force<class_PhysicsServer2D_method_body_add_constant_force>`\ (\ body\: :ref:`RID<class_RID>`, force\: :ref:`Vector2<class_Vector2>`, position\: :ref:`Vector2<class_Vector2>` = Vector2(0, 0)\ ) |
|
||
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`body_add_constant_torque<class_PhysicsServer2D_method_body_add_constant_torque>`\ (\ body\: :ref:`RID<class_RID>`, torque\: :ref:`float<class_float>`\ ) |
|
||
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`body_add_shape<class_PhysicsServer2D_method_body_add_shape>`\ (\ body\: :ref:`RID<class_RID>`, shape\: :ref:`RID<class_RID>`, transform\: :ref:`Transform2D<class_Transform2D>` = Transform2D(1, 0, 0, 1, 0, 0), disabled\: :ref:`bool<class_bool>` = false\ ) |
|
||
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`body_apply_central_force<class_PhysicsServer2D_method_body_apply_central_force>`\ (\ body\: :ref:`RID<class_RID>`, force\: :ref:`Vector2<class_Vector2>`\ ) |
|
||
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`body_apply_central_impulse<class_PhysicsServer2D_method_body_apply_central_impulse>`\ (\ body\: :ref:`RID<class_RID>`, impulse\: :ref:`Vector2<class_Vector2>`\ ) |
|
||
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`body_apply_force<class_PhysicsServer2D_method_body_apply_force>`\ (\ body\: :ref:`RID<class_RID>`, force\: :ref:`Vector2<class_Vector2>`, position\: :ref:`Vector2<class_Vector2>` = Vector2(0, 0)\ ) |
|
||
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`body_apply_impulse<class_PhysicsServer2D_method_body_apply_impulse>`\ (\ body\: :ref:`RID<class_RID>`, impulse\: :ref:`Vector2<class_Vector2>`, position\: :ref:`Vector2<class_Vector2>` = Vector2(0, 0)\ ) |
|
||
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`body_apply_torque<class_PhysicsServer2D_method_body_apply_torque>`\ (\ body\: :ref:`RID<class_RID>`, torque\: :ref:`float<class_float>`\ ) |
|
||
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`body_apply_torque_impulse<class_PhysicsServer2D_method_body_apply_torque_impulse>`\ (\ body\: :ref:`RID<class_RID>`, impulse\: :ref:`float<class_float>`\ ) |
|
||
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`body_attach_canvas_instance_id<class_PhysicsServer2D_method_body_attach_canvas_instance_id>`\ (\ body\: :ref:`RID<class_RID>`, id\: :ref:`int<class_int>`\ ) |
|
||
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`body_attach_object_instance_id<class_PhysicsServer2D_method_body_attach_object_instance_id>`\ (\ body\: :ref:`RID<class_RID>`, id\: :ref:`int<class_int>`\ ) |
|
||
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`body_clear_shapes<class_PhysicsServer2D_method_body_clear_shapes>`\ (\ body\: :ref:`RID<class_RID>`\ ) |
|
||
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`RID<class_RID>` | :ref:`body_create<class_PhysicsServer2D_method_body_create>`\ (\ ) |
|
||
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`int<class_int>` | :ref:`body_get_canvas_instance_id<class_PhysicsServer2D_method_body_get_canvas_instance_id>`\ (\ body\: :ref:`RID<class_RID>`\ ) |const| |
|
||
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`int<class_int>` | :ref:`body_get_collision_layer<class_PhysicsServer2D_method_body_get_collision_layer>`\ (\ body\: :ref:`RID<class_RID>`\ ) |const| |
|
||
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`int<class_int>` | :ref:`body_get_collision_mask<class_PhysicsServer2D_method_body_get_collision_mask>`\ (\ body\: :ref:`RID<class_RID>`\ ) |const| |
|
||
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`float<class_float>` | :ref:`body_get_collision_priority<class_PhysicsServer2D_method_body_get_collision_priority>`\ (\ body\: :ref:`RID<class_RID>`\ ) |const| |
|
||
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`Vector2<class_Vector2>` | :ref:`body_get_constant_force<class_PhysicsServer2D_method_body_get_constant_force>`\ (\ body\: :ref:`RID<class_RID>`\ ) |const| |
|
||
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`float<class_float>` | :ref:`body_get_constant_torque<class_PhysicsServer2D_method_body_get_constant_torque>`\ (\ body\: :ref:`RID<class_RID>`\ ) |const| |
|
||
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`CCDMode<enum_PhysicsServer2D_CCDMode>` | :ref:`body_get_continuous_collision_detection_mode<class_PhysicsServer2D_method_body_get_continuous_collision_detection_mode>`\ (\ body\: :ref:`RID<class_RID>`\ ) |const| |
|
||
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`PhysicsDirectBodyState2D<class_PhysicsDirectBodyState2D>` | :ref:`body_get_direct_state<class_PhysicsServer2D_method_body_get_direct_state>`\ (\ body\: :ref:`RID<class_RID>`\ ) |
|
||
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`int<class_int>` | :ref:`body_get_max_contacts_reported<class_PhysicsServer2D_method_body_get_max_contacts_reported>`\ (\ body\: :ref:`RID<class_RID>`\ ) |const| |
|
||
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`BodyMode<enum_PhysicsServer2D_BodyMode>` | :ref:`body_get_mode<class_PhysicsServer2D_method_body_get_mode>`\ (\ body\: :ref:`RID<class_RID>`\ ) |const| |
|
||
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`int<class_int>` | :ref:`body_get_object_instance_id<class_PhysicsServer2D_method_body_get_object_instance_id>`\ (\ body\: :ref:`RID<class_RID>`\ ) |const| |
|
||
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`Variant<class_Variant>` | :ref:`body_get_param<class_PhysicsServer2D_method_body_get_param>`\ (\ body\: :ref:`RID<class_RID>`, param\: :ref:`BodyParameter<enum_PhysicsServer2D_BodyParameter>`\ ) |const| |
|
||
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`RID<class_RID>` | :ref:`body_get_shape<class_PhysicsServer2D_method_body_get_shape>`\ (\ body\: :ref:`RID<class_RID>`, shape_idx\: :ref:`int<class_int>`\ ) |const| |
|
||
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`int<class_int>` | :ref:`body_get_shape_count<class_PhysicsServer2D_method_body_get_shape_count>`\ (\ body\: :ref:`RID<class_RID>`\ ) |const| |
|
||
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`Transform2D<class_Transform2D>` | :ref:`body_get_shape_transform<class_PhysicsServer2D_method_body_get_shape_transform>`\ (\ body\: :ref:`RID<class_RID>`, shape_idx\: :ref:`int<class_int>`\ ) |const| |
|
||
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`RID<class_RID>` | :ref:`body_get_space<class_PhysicsServer2D_method_body_get_space>`\ (\ body\: :ref:`RID<class_RID>`\ ) |const| |
|
||
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`Variant<class_Variant>` | :ref:`body_get_state<class_PhysicsServer2D_method_body_get_state>`\ (\ body\: :ref:`RID<class_RID>`, state\: :ref:`BodyState<enum_PhysicsServer2D_BodyState>`\ ) |const| |
|
||
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`bool<class_bool>` | :ref:`body_is_omitting_force_integration<class_PhysicsServer2D_method_body_is_omitting_force_integration>`\ (\ body\: :ref:`RID<class_RID>`\ ) |const| |
|
||
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`body_remove_collision_exception<class_PhysicsServer2D_method_body_remove_collision_exception>`\ (\ body\: :ref:`RID<class_RID>`, excepted_body\: :ref:`RID<class_RID>`\ ) |
|
||
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`body_remove_shape<class_PhysicsServer2D_method_body_remove_shape>`\ (\ body\: :ref:`RID<class_RID>`, shape_idx\: :ref:`int<class_int>`\ ) |
|
||
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`body_reset_mass_properties<class_PhysicsServer2D_method_body_reset_mass_properties>`\ (\ body\: :ref:`RID<class_RID>`\ ) |
|
||
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`body_set_axis_velocity<class_PhysicsServer2D_method_body_set_axis_velocity>`\ (\ body\: :ref:`RID<class_RID>`, axis_velocity\: :ref:`Vector2<class_Vector2>`\ ) |
|
||
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`body_set_collision_layer<class_PhysicsServer2D_method_body_set_collision_layer>`\ (\ body\: :ref:`RID<class_RID>`, layer\: :ref:`int<class_int>`\ ) |
|
||
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`body_set_collision_mask<class_PhysicsServer2D_method_body_set_collision_mask>`\ (\ body\: :ref:`RID<class_RID>`, mask\: :ref:`int<class_int>`\ ) |
|
||
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`body_set_collision_priority<class_PhysicsServer2D_method_body_set_collision_priority>`\ (\ body\: :ref:`RID<class_RID>`, priority\: :ref:`float<class_float>`\ ) |
|
||
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`body_set_constant_force<class_PhysicsServer2D_method_body_set_constant_force>`\ (\ body\: :ref:`RID<class_RID>`, force\: :ref:`Vector2<class_Vector2>`\ ) |
|
||
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`body_set_constant_torque<class_PhysicsServer2D_method_body_set_constant_torque>`\ (\ body\: :ref:`RID<class_RID>`, torque\: :ref:`float<class_float>`\ ) |
|
||
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`body_set_continuous_collision_detection_mode<class_PhysicsServer2D_method_body_set_continuous_collision_detection_mode>`\ (\ body\: :ref:`RID<class_RID>`, mode\: :ref:`CCDMode<enum_PhysicsServer2D_CCDMode>`\ ) |
|
||
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`body_set_force_integration_callback<class_PhysicsServer2D_method_body_set_force_integration_callback>`\ (\ body\: :ref:`RID<class_RID>`, callable\: :ref:`Callable<class_Callable>`, userdata\: :ref:`Variant<class_Variant>` = null\ ) |
|
||
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`body_set_max_contacts_reported<class_PhysicsServer2D_method_body_set_max_contacts_reported>`\ (\ body\: :ref:`RID<class_RID>`, amount\: :ref:`int<class_int>`\ ) |
|
||
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`body_set_mode<class_PhysicsServer2D_method_body_set_mode>`\ (\ body\: :ref:`RID<class_RID>`, mode\: :ref:`BodyMode<enum_PhysicsServer2D_BodyMode>`\ ) |
|
||
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`body_set_omit_force_integration<class_PhysicsServer2D_method_body_set_omit_force_integration>`\ (\ body\: :ref:`RID<class_RID>`, enable\: :ref:`bool<class_bool>`\ ) |
|
||
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`body_set_param<class_PhysicsServer2D_method_body_set_param>`\ (\ body\: :ref:`RID<class_RID>`, param\: :ref:`BodyParameter<enum_PhysicsServer2D_BodyParameter>`, value\: :ref:`Variant<class_Variant>`\ ) |
|
||
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`body_set_shape<class_PhysicsServer2D_method_body_set_shape>`\ (\ body\: :ref:`RID<class_RID>`, shape_idx\: :ref:`int<class_int>`, shape\: :ref:`RID<class_RID>`\ ) |
|
||
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`body_set_shape_as_one_way_collision<class_PhysicsServer2D_method_body_set_shape_as_one_way_collision>`\ (\ body\: :ref:`RID<class_RID>`, shape_idx\: :ref:`int<class_int>`, enable\: :ref:`bool<class_bool>`, margin\: :ref:`float<class_float>`\ ) |
|
||
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`body_set_shape_disabled<class_PhysicsServer2D_method_body_set_shape_disabled>`\ (\ body\: :ref:`RID<class_RID>`, shape_idx\: :ref:`int<class_int>`, disabled\: :ref:`bool<class_bool>`\ ) |
|
||
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`body_set_shape_transform<class_PhysicsServer2D_method_body_set_shape_transform>`\ (\ body\: :ref:`RID<class_RID>`, shape_idx\: :ref:`int<class_int>`, transform\: :ref:`Transform2D<class_Transform2D>`\ ) |
|
||
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`body_set_space<class_PhysicsServer2D_method_body_set_space>`\ (\ body\: :ref:`RID<class_RID>`, space\: :ref:`RID<class_RID>`\ ) |
|
||
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`body_set_state<class_PhysicsServer2D_method_body_set_state>`\ (\ body\: :ref:`RID<class_RID>`, state\: :ref:`BodyState<enum_PhysicsServer2D_BodyState>`, value\: :ref:`Variant<class_Variant>`\ ) |
|
||
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`body_set_state_sync_callback<class_PhysicsServer2D_method_body_set_state_sync_callback>`\ (\ body\: :ref:`RID<class_RID>`, callable\: :ref:`Callable<class_Callable>`\ ) |
|
||
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`bool<class_bool>` | :ref:`body_test_motion<class_PhysicsServer2D_method_body_test_motion>`\ (\ body\: :ref:`RID<class_RID>`, parameters\: :ref:`PhysicsTestMotionParameters2D<class_PhysicsTestMotionParameters2D>`, result\: :ref:`PhysicsTestMotionResult2D<class_PhysicsTestMotionResult2D>` = null\ ) |
|
||
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`RID<class_RID>` | :ref:`capsule_shape_create<class_PhysicsServer2D_method_capsule_shape_create>`\ (\ ) |
|
||
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`RID<class_RID>` | :ref:`circle_shape_create<class_PhysicsServer2D_method_circle_shape_create>`\ (\ ) |
|
||
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`RID<class_RID>` | :ref:`concave_polygon_shape_create<class_PhysicsServer2D_method_concave_polygon_shape_create>`\ (\ ) |
|
||
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`RID<class_RID>` | :ref:`convex_polygon_shape_create<class_PhysicsServer2D_method_convex_polygon_shape_create>`\ (\ ) |
|
||
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`float<class_float>` | :ref:`damped_spring_joint_get_param<class_PhysicsServer2D_method_damped_spring_joint_get_param>`\ (\ joint\: :ref:`RID<class_RID>`, param\: :ref:`DampedSpringParam<enum_PhysicsServer2D_DampedSpringParam>`\ ) |const| |
|
||
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`damped_spring_joint_set_param<class_PhysicsServer2D_method_damped_spring_joint_set_param>`\ (\ joint\: :ref:`RID<class_RID>`, param\: :ref:`DampedSpringParam<enum_PhysicsServer2D_DampedSpringParam>`, value\: :ref:`float<class_float>`\ ) |
|
||
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`free_rid<class_PhysicsServer2D_method_free_rid>`\ (\ rid\: :ref:`RID<class_RID>`\ ) |
|
||
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`int<class_int>` | :ref:`get_process_info<class_PhysicsServer2D_method_get_process_info>`\ (\ process_info\: :ref:`ProcessInfo<enum_PhysicsServer2D_ProcessInfo>`\ ) |
|
||
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`joint_clear<class_PhysicsServer2D_method_joint_clear>`\ (\ joint\: :ref:`RID<class_RID>`\ ) |
|
||
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`RID<class_RID>` | :ref:`joint_create<class_PhysicsServer2D_method_joint_create>`\ (\ ) |
|
||
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`joint_disable_collisions_between_bodies<class_PhysicsServer2D_method_joint_disable_collisions_between_bodies>`\ (\ joint\: :ref:`RID<class_RID>`, disable\: :ref:`bool<class_bool>`\ ) |
|
||
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`float<class_float>` | :ref:`joint_get_param<class_PhysicsServer2D_method_joint_get_param>`\ (\ joint\: :ref:`RID<class_RID>`, param\: :ref:`JointParam<enum_PhysicsServer2D_JointParam>`\ ) |const| |
|
||
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`JointType<enum_PhysicsServer2D_JointType>` | :ref:`joint_get_type<class_PhysicsServer2D_method_joint_get_type>`\ (\ joint\: :ref:`RID<class_RID>`\ ) |const| |
|
||
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`bool<class_bool>` | :ref:`joint_is_disabled_collisions_between_bodies<class_PhysicsServer2D_method_joint_is_disabled_collisions_between_bodies>`\ (\ joint\: :ref:`RID<class_RID>`\ ) |const| |
|
||
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`joint_make_damped_spring<class_PhysicsServer2D_method_joint_make_damped_spring>`\ (\ joint\: :ref:`RID<class_RID>`, anchor_a\: :ref:`Vector2<class_Vector2>`, anchor_b\: :ref:`Vector2<class_Vector2>`, body_a\: :ref:`RID<class_RID>`, body_b\: :ref:`RID<class_RID>` = RID()\ ) |
|
||
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`joint_make_groove<class_PhysicsServer2D_method_joint_make_groove>`\ (\ joint\: :ref:`RID<class_RID>`, groove1_a\: :ref:`Vector2<class_Vector2>`, groove2_a\: :ref:`Vector2<class_Vector2>`, anchor_b\: :ref:`Vector2<class_Vector2>`, body_a\: :ref:`RID<class_RID>` = RID(), body_b\: :ref:`RID<class_RID>` = RID()\ ) |
|
||
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`joint_make_pin<class_PhysicsServer2D_method_joint_make_pin>`\ (\ joint\: :ref:`RID<class_RID>`, anchor\: :ref:`Vector2<class_Vector2>`, body_a\: :ref:`RID<class_RID>`, body_b\: :ref:`RID<class_RID>` = RID()\ ) |
|
||
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`joint_set_param<class_PhysicsServer2D_method_joint_set_param>`\ (\ joint\: :ref:`RID<class_RID>`, param\: :ref:`JointParam<enum_PhysicsServer2D_JointParam>`, value\: :ref:`float<class_float>`\ ) |
|
||
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`bool<class_bool>` | :ref:`pin_joint_get_flag<class_PhysicsServer2D_method_pin_joint_get_flag>`\ (\ joint\: :ref:`RID<class_RID>`, flag\: :ref:`PinJointFlag<enum_PhysicsServer2D_PinJointFlag>`\ ) |const| |
|
||
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`float<class_float>` | :ref:`pin_joint_get_param<class_PhysicsServer2D_method_pin_joint_get_param>`\ (\ joint\: :ref:`RID<class_RID>`, param\: :ref:`PinJointParam<enum_PhysicsServer2D_PinJointParam>`\ ) |const| |
|
||
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`pin_joint_set_flag<class_PhysicsServer2D_method_pin_joint_set_flag>`\ (\ joint\: :ref:`RID<class_RID>`, flag\: :ref:`PinJointFlag<enum_PhysicsServer2D_PinJointFlag>`, enabled\: :ref:`bool<class_bool>`\ ) |
|
||
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`pin_joint_set_param<class_PhysicsServer2D_method_pin_joint_set_param>`\ (\ joint\: :ref:`RID<class_RID>`, param\: :ref:`PinJointParam<enum_PhysicsServer2D_PinJointParam>`, value\: :ref:`float<class_float>`\ ) |
|
||
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`RID<class_RID>` | :ref:`rectangle_shape_create<class_PhysicsServer2D_method_rectangle_shape_create>`\ (\ ) |
|
||
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`RID<class_RID>` | :ref:`segment_shape_create<class_PhysicsServer2D_method_segment_shape_create>`\ (\ ) |
|
||
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`RID<class_RID>` | :ref:`separation_ray_shape_create<class_PhysicsServer2D_method_separation_ray_shape_create>`\ (\ ) |
|
||
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`set_active<class_PhysicsServer2D_method_set_active>`\ (\ active\: :ref:`bool<class_bool>`\ ) |
|
||
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`Variant<class_Variant>` | :ref:`shape_get_data<class_PhysicsServer2D_method_shape_get_data>`\ (\ shape\: :ref:`RID<class_RID>`\ ) |const| |
|
||
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`ShapeType<enum_PhysicsServer2D_ShapeType>` | :ref:`shape_get_type<class_PhysicsServer2D_method_shape_get_type>`\ (\ shape\: :ref:`RID<class_RID>`\ ) |const| |
|
||
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`shape_set_data<class_PhysicsServer2D_method_shape_set_data>`\ (\ shape\: :ref:`RID<class_RID>`, data\: :ref:`Variant<class_Variant>`\ ) |
|
||
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`RID<class_RID>` | :ref:`space_create<class_PhysicsServer2D_method_space_create>`\ (\ ) |
|
||
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`PhysicsDirectSpaceState2D<class_PhysicsDirectSpaceState2D>` | :ref:`space_get_direct_state<class_PhysicsServer2D_method_space_get_direct_state>`\ (\ space\: :ref:`RID<class_RID>`\ ) |
|
||
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`float<class_float>` | :ref:`space_get_param<class_PhysicsServer2D_method_space_get_param>`\ (\ space\: :ref:`RID<class_RID>`, param\: :ref:`SpaceParameter<enum_PhysicsServer2D_SpaceParameter>`\ ) |const| |
|
||
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`bool<class_bool>` | :ref:`space_is_active<class_PhysicsServer2D_method_space_is_active>`\ (\ space\: :ref:`RID<class_RID>`\ ) |const| |
|
||
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`space_set_active<class_PhysicsServer2D_method_space_set_active>`\ (\ space\: :ref:`RID<class_RID>`, active\: :ref:`bool<class_bool>`\ ) |
|
||
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`space_set_param<class_PhysicsServer2D_method_space_set_param>`\ (\ space\: :ref:`RID<class_RID>`, param\: :ref:`SpaceParameter<enum_PhysicsServer2D_SpaceParameter>`, value\: :ref:`float<class_float>`\ ) |
|
||
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`RID<class_RID>` | :ref:`world_boundary_shape_create<class_PhysicsServer2D_method_world_boundary_shape_create>`\ (\ ) |
|
||
+-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
|
||
.. rst-class:: classref-section-separator
|
||
|
||
----
|
||
|
||
.. rst-class:: classref-descriptions-group
|
||
|
||
Перечисления
|
||
------------------------
|
||
|
||
.. _enum_PhysicsServer2D_SpaceParameter:
|
||
|
||
.. rst-class:: classref-enumeration
|
||
|
||
enum **SpaceParameter**: :ref:`🔗<enum_PhysicsServer2D_SpaceParameter>`
|
||
|
||
.. _class_PhysicsServer2D_constant_SPACE_PARAM_CONTACT_RECYCLE_RADIUS:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`SpaceParameter<enum_PhysicsServer2D_SpaceParameter>` **SPACE_PARAM_CONTACT_RECYCLE_RADIUS** = ``0``
|
||
|
||
Константа для установки/получения максимального расстояния, на которое должна переместиться пара тел, прежде чем их статус столкновения придется пересчитать. Значение этого параметра по умолчанию — :ref:`ProjectSettings.physics/2d/solver/contact_recycle_radius<class_ProjectSettings_property_physics/2d/solver/contact_recycle_radius>`.
|
||
|
||
.. _class_PhysicsServer2D_constant_SPACE_PARAM_CONTACT_MAX_SEPARATION:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`SpaceParameter<enum_PhysicsServer2D_SpaceParameter>` **SPACE_PARAM_CONTACT_MAX_SEPARATION** = ``1``
|
||
|
||
Константа для установки/получения максимального расстояния между фигурами, на котором они могут находиться, прежде чем они будут считаться разделенными, а контакт будет отброшен. Значение этого параметра по умолчанию — :ref:`ProjectSettings.physics/2d/solver/contact_max_separation<class_ProjectSettings_property_physics/2d/solver/contact_max_separation>`.
|
||
|
||
.. _class_PhysicsServer2D_constant_SPACE_PARAM_CONTACT_MAX_ALLOWED_PENETRATION:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`SpaceParameter<enum_PhysicsServer2D_SpaceParameter>` **SPACE_PARAM_CONTACT_MAX_ALLOWED_PENETRATION** = ``2``
|
||
|
||
Константа для установки/получения максимального расстояния, на которое фигура может проникнуть в другую фигуру, прежде чем это будет считаться столкновением. Значение этого параметра по умолчанию — :ref:`ProjectSettings.physics/2d/solver/contact_max_allowed_penetration<class_ProjectSettings_property_physics/2d/solver/contact_max_allowed_penetration>`.
|
||
|
||
.. _class_PhysicsServer2D_constant_SPACE_PARAM_CONTACT_DEFAULT_BIAS:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`SpaceParameter<enum_PhysicsServer2D_SpaceParameter>` **SPACE_PARAM_CONTACT_DEFAULT_BIAS** = ``3``
|
||
|
||
Константа для установки/получения смещения решателя по умолчанию для всех физических контактов. Смещение решателя — это фактор, контролирующий, насколько два объекта «отскакивают» после наложения, чтобы избежать их оставления в этом состоянии из-за числовой неточности. Значение этого параметра по умолчанию — :ref:`ProjectSettings.physics/2d/solver/default_contact_bias<class_ProjectSettings_property_physics/2d/solver/default_contact_bias>`.
|
||
|
||
.. _class_PhysicsServer2D_constant_SPACE_PARAM_BODY_LINEAR_VELOCITY_SLEEP_THRESHOLD:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`SpaceParameter<enum_PhysicsServer2D_SpaceParameter>` **SPACE_PARAM_BODY_LINEAR_VELOCITY_SLEEP_THRESHOLD** = ``4``
|
||
|
||
Константа для установки/получения пороговой линейной скорости активности. Тело, отмеченное как потенциально неактивное как для линейной, так и для угловой скорости, будет переведено в спящий режим по истечении указанного времени. Значение этого параметра по умолчанию — :ref:`ProjectSettings.physics/2d/sleep_threshold_linear<class_ProjectSettings_property_physics/2d/sleep_threshold_linear>`.
|
||
|
||
.. _class_PhysicsServer2D_constant_SPACE_PARAM_BODY_ANGULAR_VELOCITY_SLEEP_THRESHOLD:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`SpaceParameter<enum_PhysicsServer2D_SpaceParameter>` **SPACE_PARAM_BODY_ANGULAR_VELOCITY_SLEEP_THRESHOLD** = ``5``
|
||
|
||
Константа для установки/получения пороговой угловой скорости активности. Тело, отмеченное как потенциально неактивное как для линейной, так и для угловой скорости, будет переведено в спящий режим по истечении указанного времени. Значение этого параметра по умолчанию — :ref:`ProjectSettings.physics/2d/sleep_threshold_angular<class_ProjectSettings_property_physics/2d/sleep_threshold_angular>`.
|
||
|
||
.. _class_PhysicsServer2D_constant_SPACE_PARAM_BODY_TIME_TO_SLEEP:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`SpaceParameter<enum_PhysicsServer2D_SpaceParameter>` **SPACE_PARAM_BODY_TIME_TO_SLEEP** = ``6``
|
||
|
||
Константа для установки/получения максимального времени активности. Тело, отмеченное как потенциально неактивное как для линейной, так и для угловой скорости, будет переведено в спящий режим по истечении этого времени. Значение этого параметра по умолчанию — :ref:`ProjectSettings.physics/2d/time_before_sleep<class_ProjectSettings_property_physics/2d/time_before_sleep>`.
|
||
|
||
.. _class_PhysicsServer2D_constant_SPACE_PARAM_CONSTRAINT_DEFAULT_BIAS:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`SpaceParameter<enum_PhysicsServer2D_SpaceParameter>` **SPACE_PARAM_CONSTRAINT_DEFAULT_BIAS** = ``7``
|
||
|
||
Константа для установки/получения смещения решателя по умолчанию для всех физических ограничений. Смещение решателя — это фактор, контролирующий, насколько два объекта «отскакивают» после нарушения ограничения, чтобы не оставлять их в этом состоянии из-за числовой неточности. Значение этого параметра по умолчанию — :ref:`ProjectSettings.physics/2d/solver/default_constraint_bias<class_ProjectSettings_property_physics/2d/solver/default_constraint_bias>`.
|
||
|
||
.. _class_PhysicsServer2D_constant_SPACE_PARAM_SOLVER_ITERATIONS:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`SpaceParameter<enum_PhysicsServer2D_SpaceParameter>` **SPACE_PARAM_SOLVER_ITERATIONS** = ``8``
|
||
|
||
Константа для установки/получения количества итераций решателя для всех контактов и ограничений. Чем больше количество итераций, тем точнее будут столкновения. Однако большее количество итераций требует большей мощности ЦП, что может снизить производительность. Значение этого параметра по умолчанию — :ref:`ProjectSettings.physics/2d/solver/solver_iterations<class_ProjectSettings_property_physics/2d/solver/solver_iterations>`.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _enum_PhysicsServer2D_ShapeType:
|
||
|
||
.. rst-class:: classref-enumeration
|
||
|
||
enum **ShapeType**: :ref:`🔗<enum_PhysicsServer2D_ShapeType>`
|
||
|
||
.. _class_PhysicsServer2D_constant_SHAPE_WORLD_BOUNDARY:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`ShapeType<enum_PhysicsServer2D_ShapeType>` **SHAPE_WORLD_BOUNDARY** = ``0``
|
||
|
||
Это константа для создания форм границ мира. Форма границ мира — это *бесконечная* линия с начальной точкой и нормалью. Таким образом, ее можно использовать для проверок спереди/сзади.
|
||
|
||
.. _class_PhysicsServer2D_constant_SHAPE_SEPARATION_RAY:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`ShapeType<enum_PhysicsServer2D_ShapeType>` **SHAPE_SEPARATION_RAY** = ``1``
|
||
|
||
Это константа для создания форм разделительного луча. Разделительный луч определяется длиной и отделяет себя от того, что касается его дальней конечной точки. Полезно для контроллеров персонажей.
|
||
|
||
.. _class_PhysicsServer2D_constant_SHAPE_SEGMENT:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`ShapeType<enum_PhysicsServer2D_ShapeType>` **SHAPE_SEGMENT** = ``2``
|
||
|
||
Это константа для создания сегментных форм. Сегментная форма — это *конечная* линия от точки A до точки B. Ее можно проверить на пересечения.
|
||
|
||
.. _class_PhysicsServer2D_constant_SHAPE_CIRCLE:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`ShapeType<enum_PhysicsServer2D_ShapeType>` **SHAPE_CIRCLE** = ``3``
|
||
|
||
Это константа для создания круговых форм. Круговая форма имеет только радиус. Ее можно использовать для пересечений и внутренних/внешних проверок.
|
||
|
||
.. _class_PhysicsServer2D_constant_SHAPE_RECTANGLE:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`ShapeType<enum_PhysicsServer2D_ShapeType>` **SHAPE_RECTANGLE** = ``4``
|
||
|
||
Это константа для создания прямоугольных форм. Прямоугольная форма определяется шириной и высотой. Ее можно использовать для пересечений и внутренних/внешних проверок.
|
||
|
||
.. _class_PhysicsServer2D_constant_SHAPE_CAPSULE:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`ShapeType<enum_PhysicsServer2D_ShapeType>` **SHAPE_CAPSULE** = ``5``
|
||
|
||
Это константа для создания форм капсул. Форма капсулы определяется радиусом и длиной. Ее можно использовать для пересечений и внутренних/внешних проверок.
|
||
|
||
.. _class_PhysicsServer2D_constant_SHAPE_CONVEX_POLYGON:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`ShapeType<enum_PhysicsServer2D_ShapeType>` **SHAPE_CONVEX_POLYGON** = ``6``
|
||
|
||
Это константа для создания выпуклых многоугольных фигур. Многоугольник определяется списком точек. Его можно использовать для пересечений и внутренних/внешних проверок.
|
||
|
||
.. _class_PhysicsServer2D_constant_SHAPE_CONCAVE_POLYGON:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`ShapeType<enum_PhysicsServer2D_ShapeType>` **SHAPE_CONCAVE_POLYGON** = ``7``
|
||
|
||
Это константа для создания вогнутых многоугольных фигур. Многоугольник определяется списком точек. Его можно использовать для проверки пересечений, но не для проверки внутри/снаружи.
|
||
|
||
.. _class_PhysicsServer2D_constant_SHAPE_CUSTOM:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`ShapeType<enum_PhysicsServer2D_ShapeType>` **SHAPE_CUSTOM** = ``8``
|
||
|
||
Эта константа используется внутри движка. Любая попытка создать такую форму приведет к ошибке.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _enum_PhysicsServer2D_AreaParameter:
|
||
|
||
.. rst-class:: classref-enumeration
|
||
|
||
enum **AreaParameter**: :ref:`🔗<enum_PhysicsServer2D_AreaParameter>`
|
||
|
||
.. _class_PhysicsServer2D_constant_AREA_PARAM_GRAVITY_OVERRIDE_MODE:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`AreaParameter<enum_PhysicsServer2D_AreaParameter>` **AREA_PARAM_GRAVITY_OVERRIDE_MODE** = ``0``
|
||
|
||
Константа для установки/получения режима переопределения гравитации в области. См. :ref:`AreaSpaceOverrideMode<enum_PhysicsServer2D_AreaSpaceOverrideMode>` для возможных значений. Значение этого параметра по умолчанию — :ref:`AREA_SPACE_OVERRIDE_DISABLED<class_PhysicsServer2D_constant_AREA_SPACE_OVERRIDE_DISABLED>`.
|
||
|
||
.. _class_PhysicsServer2D_constant_AREA_PARAM_GRAVITY:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`AreaParameter<enum_PhysicsServer2D_AreaParameter>` **AREA_PARAM_GRAVITY** = ``1``
|
||
|
||
Константа для установки/получения силы гравитации в области. Значение этого параметра по умолчанию ``9.80665``.
|
||
|
||
.. _class_PhysicsServer2D_constant_AREA_PARAM_GRAVITY_VECTOR:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`AreaParameter<enum_PhysicsServer2D_AreaParameter>` **AREA_PARAM_GRAVITY_VECTOR** = ``2``
|
||
|
||
Константа для установки/получения вектора/центра гравитации в области. Значение этого параметра по умолчанию: ``Vector2(0, -1)``.
|
||
|
||
.. _class_PhysicsServer2D_constant_AREA_PARAM_GRAVITY_IS_POINT:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`AreaParameter<enum_PhysicsServer2D_AreaParameter>` **AREA_PARAM_GRAVITY_IS_POINT** = ``3``
|
||
|
||
Константа для установки/получения того, является ли вектор гравитации области направлением или центральной точкой. Значение этого параметра по умолчанию — ``false``.
|
||
|
||
.. _class_PhysicsServer2D_constant_AREA_PARAM_GRAVITY_POINT_UNIT_DISTANCE:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`AreaParameter<enum_PhysicsServer2D_AreaParameter>` **AREA_PARAM_GRAVITY_POINT_UNIT_DISTANCE** = ``4``
|
||
|
||
Константа для установки/получения расстояния, на котором сила гравитации равна силе гравитации, контролируемой :ref:`AREA_PARAM_GRAVITY<class_PhysicsServer2D_constant_AREA_PARAM_GRAVITY>`. Например, на планете радиусом 100 пикселей с поверхностной гравитацией 4,0 px/s² установите гравитацию 4,0 и единичное расстояние 100,0. Гравитация будет спадать в соответствии с законом обратных квадратов, поэтому в этом примере на расстоянии 200 пикселей от центра гравитация будет 1,0 px/s² (в два раза больше расстояния, 1/4 гравитации), на расстоянии 50 пикселей она будет 16,0 px/s² (в два раза больше расстояния, 4x гравитации) и т. д.
|
||
|
||
Вышеуказанное верно только тогда, когда единичное расстояние является положительным числом. Когда единичное расстояние установлено равным 0,0, гравитация будет постоянной независимо от расстояния. Значение этого параметра по умолчанию равно ``0.0``.
|
||
|
||
.. _class_PhysicsServer2D_constant_AREA_PARAM_LINEAR_DAMP_OVERRIDE_MODE:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`AreaParameter<enum_PhysicsServer2D_AreaParameter>` **AREA_PARAM_LINEAR_DAMP_OVERRIDE_MODE** = ``5``
|
||
|
||
Константа для установки/получения режима переопределения линейного затухания в области. См. :ref:`AreaSpaceOverrideMode<enum_PhysicsServer2D_AreaSpaceOverrideMode>` для возможных значений. Значение этого параметра по умолчанию — :ref:`AREA_SPACE_OVERRIDE_DISABLED<class_PhysicsServer2D_constant_AREA_SPACE_OVERRIDE_DISABLED>`.
|
||
|
||
.. _class_PhysicsServer2D_constant_AREA_PARAM_LINEAR_DAMP:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`AreaParameter<enum_PhysicsServer2D_AreaParameter>` **AREA_PARAM_LINEAR_DAMP** = ``6``
|
||
|
||
Константа для установки/получения линейного коэффициента затухания области. Значение этого параметра по умолчанию ``0.1``.
|
||
|
||
.. _class_PhysicsServer2D_constant_AREA_PARAM_ANGULAR_DAMP_OVERRIDE_MODE:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`AreaParameter<enum_PhysicsServer2D_AreaParameter>` **AREA_PARAM_ANGULAR_DAMP_OVERRIDE_MODE** = ``7``
|
||
|
||
Константа для установки/получения режима переопределения углового демпфирования в области. См. :ref:`AreaSpaceOverrideMode<enum_PhysicsServer2D_AreaSpaceOverrideMode>` для возможных значений. Значение этого параметра по умолчанию — :ref:`AREA_SPACE_OVERRIDE_DISABLED<class_PhysicsServer2D_constant_AREA_SPACE_OVERRIDE_DISABLED>`.
|
||
|
||
.. _class_PhysicsServer2D_constant_AREA_PARAM_ANGULAR_DAMP:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`AreaParameter<enum_PhysicsServer2D_AreaParameter>` **AREA_PARAM_ANGULAR_DAMP** = ``8``
|
||
|
||
Константа для установки/получения углового коэффициента затухания области. Значение этого параметра по умолчанию ``1.0``.
|
||
|
||
.. _class_PhysicsServer2D_constant_AREA_PARAM_PRIORITY:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`AreaParameter<enum_PhysicsServer2D_AreaParameter>` **AREA_PARAM_PRIORITY** = ``9``
|
||
|
||
Константа для установки/получения приоритета (порядка обработки) области. Значение этого параметра по умолчанию ``0``.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _enum_PhysicsServer2D_AreaSpaceOverrideMode:
|
||
|
||
.. rst-class:: classref-enumeration
|
||
|
||
enum **AreaSpaceOverrideMode**: :ref:`🔗<enum_PhysicsServer2D_AreaSpaceOverrideMode>`
|
||
|
||
.. _class_PhysicsServer2D_constant_AREA_SPACE_OVERRIDE_DISABLED:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`AreaSpaceOverrideMode<enum_PhysicsServer2D_AreaSpaceOverrideMode>` **AREA_SPACE_OVERRIDE_DISABLED** = ``0``
|
||
|
||
Эта область не влияет на гравитацию/влажность. Это, как правило, области, которые существуют только для обнаружения столкновений и объектов, входящих или выходящих из них.
|
||
|
||
.. _class_PhysicsServer2D_constant_AREA_SPACE_OVERRIDE_COMBINE:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`AreaSpaceOverrideMode<enum_PhysicsServer2D_AreaSpaceOverrideMode>` **AREA_SPACE_OVERRIDE_COMBINE** = ``1``
|
||
|
||
Эта область добавляет свои значения гравитации/влажности к тому, что было рассчитано до сих пор. Таким образом, многие перекрывающиеся области могут объединить свою физику, чтобы создать интересные эффекты.
|
||
|
||
.. _class_PhysicsServer2D_constant_AREA_SPACE_OVERRIDE_COMBINE_REPLACE:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`AreaSpaceOverrideMode<enum_PhysicsServer2D_AreaSpaceOverrideMode>` **AREA_SPACE_OVERRIDE_COMBINE_REPLACE** = ``2``
|
||
|
||
Эта область добавляет свои значения гравитации/влажности ко всему, что было рассчитано до сих пор. Затем перестает учитывать остальные области, даже область по умолчанию.
|
||
|
||
.. _class_PhysicsServer2D_constant_AREA_SPACE_OVERRIDE_REPLACE:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`AreaSpaceOverrideMode<enum_PhysicsServer2D_AreaSpaceOverrideMode>` **AREA_SPACE_OVERRIDE_REPLACE** = ``3``
|
||
|
||
Эта область заменяет любую гравитацию/влажность, даже заданную по умолчанию, и прекращает учитывать остальные области.
|
||
|
||
.. _class_PhysicsServer2D_constant_AREA_SPACE_OVERRIDE_REPLACE_COMBINE:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`AreaSpaceOverrideMode<enum_PhysicsServer2D_AreaSpaceOverrideMode>` **AREA_SPACE_OVERRIDE_REPLACE_COMBINE** = ``4``
|
||
|
||
Эта область заменяет все рассчитанные до сих пор значения гравитации/влажности, но продолжает рассчитывать остальные области, вплоть до области по умолчанию.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _enum_PhysicsServer2D_BodyMode:
|
||
|
||
.. rst-class:: classref-enumeration
|
||
|
||
enum **BodyMode**: :ref:`🔗<enum_PhysicsServer2D_BodyMode>`
|
||
|
||
.. _class_PhysicsServer2D_constant_BODY_MODE_STATIC:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`BodyMode<enum_PhysicsServer2D_BodyMode>` **BODY_MODE_STATIC** = ``0``
|
||
|
||
Константа для статических тел. В этом режиме тело может перемещаться только пользовательским кодом и не сталкивается с другими телами на своем пути при перемещении.
|
||
|
||
.. _class_PhysicsServer2D_constant_BODY_MODE_KINEMATIC:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`BodyMode<enum_PhysicsServer2D_BodyMode>` **BODY_MODE_KINEMATIC** = ``1``
|
||
|
||
Константа для кинематических тел. В этом режиме тело может перемещаться только пользовательским кодом и сталкиваться с другими телами на своем пути.
|
||
|
||
.. _class_PhysicsServer2D_constant_BODY_MODE_RIGID:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`BodyMode<enum_PhysicsServer2D_BodyMode>` **BODY_MODE_RIGID** = ``2``
|
||
|
||
Постоянная для твердых тел. В этом режиме тело может толкаться другими телами и к нему могут быть приложены силы.
|
||
|
||
.. _class_PhysicsServer2D_constant_BODY_MODE_RIGID_LINEAR:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`BodyMode<enum_PhysicsServer2D_BodyMode>` **BODY_MODE_RIGID_LINEAR** = ``3``
|
||
|
||
Постоянная для линейных твердых тел. В этом режиме тело не может вращаться, и только его линейная скорость подвержена влиянию внешних сил.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _enum_PhysicsServer2D_BodyParameter:
|
||
|
||
.. rst-class:: classref-enumeration
|
||
|
||
enum **BodyParameter**: :ref:`🔗<enum_PhysicsServer2D_BodyParameter>`
|
||
|
||
.. _class_PhysicsServer2D_constant_BODY_PARAM_BOUNCE:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`BodyParameter<enum_PhysicsServer2D_BodyParameter>` **BODY_PARAM_BOUNCE** = ``0``
|
||
|
||
Константа для установки/получения коэффициента отскока тела. Значение этого параметра по умолчанию ``0.0``.
|
||
|
||
.. _class_PhysicsServer2D_constant_BODY_PARAM_FRICTION:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`BodyParameter<enum_PhysicsServer2D_BodyParameter>` **BODY_PARAM_FRICTION** = ``1``
|
||
|
||
Константа для установки/получения трения тела. Значение этого параметра по умолчанию ``1.0``.
|
||
|
||
.. _class_PhysicsServer2D_constant_BODY_PARAM_MASS:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`BodyParameter<enum_PhysicsServer2D_BodyParameter>` **BODY_PARAM_MASS** = ``2``
|
||
|
||
Константа для установки/получения массы тела. Значение этого параметра по умолчанию — ``1.0``. Если режим тела установлен на :ref:`BODY_MODE_RIGID<class_PhysicsServer2D_constant_BODY_MODE_RIGID>`, то установка этого параметра будет иметь следующие дополнительные эффекты:
|
||
|
||
- Если параметр :ref:`BODY_PARAM_CENTER_OF_MASS<class_PhysicsServer2D_constant_BODY_PARAM_CENTER_OF_MASS>` никогда не был задан явно, то значение этого параметра будет пересчитано на основе форм тела.
|
||
|
||
- Если параметр :ref:`BODY_PARAM_INERTIA<class_PhysicsServer2D_constant_BODY_PARAM_INERTIA>` установлен на значение ``<= 0.0``, то значение этого параметра будет пересчитано на основе форм тела, массы и центра масс.
|
||
|
||
.. _class_PhysicsServer2D_constant_BODY_PARAM_INERTIA:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`BodyParameter<enum_PhysicsServer2D_BodyParameter>` **BODY_PARAM_INERTIA** = ``3``
|
||
|
||
Константа для установки/получения инерции тела. Значение этого параметра по умолчанию ``0.0``. Если инерция тела установлена на значение ``<= 0.0``, то инерция будет пересчитана на основе формы тела, массы и центра масс.
|
||
|
||
.. _class_PhysicsServer2D_constant_BODY_PARAM_CENTER_OF_MASS:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`BodyParameter<enum_PhysicsServer2D_BodyParameter>` **BODY_PARAM_CENTER_OF_MASS** = ``4``
|
||
|
||
Константа для установки/получения положения центра масс тела в его локальной системе координат. Значение этого параметра по умолчанию — ``Vector2(0, 0)``. Если этот параметр не задан явно, он пересчитывается на основе формы тела при установке параметра :ref:`BODY_PARAM_MASS<class_PhysicsServer2D_constant_BODY_PARAM_MASS>` или при вызове :ref:`body_set_space()<class_PhysicsServer2D_method_body_set_space>`.
|
||
|
||
.. _class_PhysicsServer2D_constant_BODY_PARAM_GRAVITY_SCALE:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`BodyParameter<enum_PhysicsServer2D_BodyParameter>` **BODY_PARAM_GRAVITY_SCALE** = ``5``
|
||
|
||
Константа для установки/получения множителя гравитации тела. Значение этого параметра по умолчанию ``1.0``.
|
||
|
||
.. _class_PhysicsServer2D_constant_BODY_PARAM_LINEAR_DAMP_MODE:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`BodyParameter<enum_PhysicsServer2D_BodyParameter>` **BODY_PARAM_LINEAR_DAMP_MODE** = ``6``
|
||
|
||
Константа для установки/получения линейного режима демпфирования тела. См. :ref:`BodyDampMode<enum_PhysicsServer2D_BodyDampMode>` для возможных значений. Значение этого параметра по умолчанию — :ref:`BODY_DAMP_MODE_COMBINE<class_PhysicsServer2D_constant_BODY_DAMP_MODE_COMBINE>`.
|
||
|
||
.. _class_PhysicsServer2D_constant_BODY_PARAM_ANGULAR_DAMP_MODE:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`BodyParameter<enum_PhysicsServer2D_BodyParameter>` **BODY_PARAM_ANGULAR_DAMP_MODE** = ``7``
|
||
|
||
Константа для установки/получения режима углового демпфирования тела. См. :ref:`BodyDampMode<enum_PhysicsServer2D_BodyDampMode>` для возможных значений. Значение этого параметра по умолчанию — :ref:`BODY_DAMP_MODE_COMBINE<class_PhysicsServer2D_constant_BODY_DAMP_MODE_COMBINE>`.
|
||
|
||
.. _class_PhysicsServer2D_constant_BODY_PARAM_LINEAR_DAMP:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`BodyParameter<enum_PhysicsServer2D_BodyParameter>` **BODY_PARAM_LINEAR_DAMP** = ``8``
|
||
|
||
Константа для установки/получения линейного коэффициента затухания тела. Значение этого параметра по умолчанию ``0.0``.
|
||
|
||
.. _class_PhysicsServer2D_constant_BODY_PARAM_ANGULAR_DAMP:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`BodyParameter<enum_PhysicsServer2D_BodyParameter>` **BODY_PARAM_ANGULAR_DAMP** = ``9``
|
||
|
||
Константа для установки/получения углового коэффициента демпфирования тела. Значение этого параметра по умолчанию ``0.0``.
|
||
|
||
.. _class_PhysicsServer2D_constant_BODY_PARAM_MAX:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`BodyParameter<enum_PhysicsServer2D_BodyParameter>` **BODY_PARAM_MAX** = ``10``
|
||
|
||
Представляет размер перечисления :ref:`BodyParameter<enum_PhysicsServer2D_BodyParameter>`.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _enum_PhysicsServer2D_BodyDampMode:
|
||
|
||
.. rst-class:: classref-enumeration
|
||
|
||
enum **BodyDampMode**: :ref:`🔗<enum_PhysicsServer2D_BodyDampMode>`
|
||
|
||
.. _class_PhysicsServer2D_constant_BODY_DAMP_MODE_COMBINE:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`BodyDampMode<enum_PhysicsServer2D_BodyDampMode>` **BODY_DAMP_MODE_COMBINE** = ``0``
|
||
|
||
Значение демпфирования тела добавляется к любому значению, заданному в областях, или к значению по умолчанию.
|
||
|
||
.. _class_PhysicsServer2D_constant_BODY_DAMP_MODE_REPLACE:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`BodyDampMode<enum_PhysicsServer2D_BodyDampMode>` **BODY_DAMP_MODE_REPLACE** = ``1``
|
||
|
||
Значение демпфирования тела заменяет любое значение, заданное в областях, или значение по умолчанию.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _enum_PhysicsServer2D_BodyState:
|
||
|
||
.. rst-class:: classref-enumeration
|
||
|
||
enum **BodyState**: :ref:`🔗<enum_PhysicsServer2D_BodyState>`
|
||
|
||
.. _class_PhysicsServer2D_constant_BODY_STATE_TRANSFORM:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`BodyState<enum_PhysicsServer2D_BodyState>` **BODY_STATE_TRANSFORM** = ``0``
|
||
|
||
Константа для установки/получения текущей матрицы преобразования тела.
|
||
|
||
.. _class_PhysicsServer2D_constant_BODY_STATE_LINEAR_VELOCITY:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`BodyState<enum_PhysicsServer2D_BodyState>` **BODY_STATE_LINEAR_VELOCITY** = ``1``
|
||
|
||
Константа для установки/получения текущей линейной скорости тела.
|
||
|
||
.. _class_PhysicsServer2D_constant_BODY_STATE_ANGULAR_VELOCITY:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`BodyState<enum_PhysicsServer2D_BodyState>` **BODY_STATE_ANGULAR_VELOCITY** = ``2``
|
||
|
||
Константа для установки/получения текущей угловой скорости тела.
|
||
|
||
.. _class_PhysicsServer2D_constant_BODY_STATE_SLEEPING:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`BodyState<enum_PhysicsServer2D_BodyState>` **BODY_STATE_SLEEPING** = ``3``
|
||
|
||
Постоянно, чтобы заснуть/разбудить тело или узнать, спит ли оно.
|
||
|
||
.. _class_PhysicsServer2D_constant_BODY_STATE_CAN_SLEEP:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`BodyState<enum_PhysicsServer2D_BodyState>` **BODY_STATE_CAN_SLEEP** = ``4``
|
||
|
||
Константа для установки/получения информации о том, может ли тело спать.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _enum_PhysicsServer2D_JointType:
|
||
|
||
.. rst-class:: classref-enumeration
|
||
|
||
enum **JointType**: :ref:`🔗<enum_PhysicsServer2D_JointType>`
|
||
|
||
.. _class_PhysicsServer2D_constant_JOINT_TYPE_PIN:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`JointType<enum_PhysicsServer2D_JointType>` **JOINT_TYPE_PIN** = ``0``
|
||
|
||
Константа для создания штифтовых соединений.
|
||
|
||
.. _class_PhysicsServer2D_constant_JOINT_TYPE_GROOVE:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`JointType<enum_PhysicsServer2D_JointType>` **JOINT_TYPE_GROOVE** = ``1``
|
||
|
||
Константа для создания пазов.
|
||
|
||
.. _class_PhysicsServer2D_constant_JOINT_TYPE_DAMPED_SPRING:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`JointType<enum_PhysicsServer2D_JointType>` **JOINT_TYPE_DAMPED_SPRING** = ``2``
|
||
|
||
Константа для создания демпфирующих пружинных соединений.
|
||
|
||
.. _class_PhysicsServer2D_constant_JOINT_TYPE_MAX:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`JointType<enum_PhysicsServer2D_JointType>` **JOINT_TYPE_MAX** = ``3``
|
||
|
||
Представляет размер перечисления :ref:`JointType<enum_PhysicsServer2D_JointType>`.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _enum_PhysicsServer2D_JointParam:
|
||
|
||
.. rst-class:: classref-enumeration
|
||
|
||
enum **JointParam**: :ref:`🔗<enum_PhysicsServer2D_JointParam>`
|
||
|
||
.. _class_PhysicsServer2D_constant_JOINT_PARAM_BIAS:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`JointParam<enum_PhysicsServer2D_JointParam>` **JOINT_PARAM_BIAS** = ``0``
|
||
|
||
Константа для установки/получения того, насколько быстро сочленение тянет тела назад, чтобы удовлетворить ограничение сочленения. Чем ниже значение, тем больше два тела могут тянуть сочленение. Значение этого параметра по умолчанию — ``0.0``.
|
||
|
||
\ **Примечание:** В физике Godot этот параметр используется только для штифтовых и пазовых соединений.
|
||
|
||
.. _class_PhysicsServer2D_constant_JOINT_PARAM_MAX_BIAS:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`JointParam<enum_PhysicsServer2D_JointParam>` **JOINT_PARAM_MAX_BIAS** = ``1``
|
||
|
||
Константа для установки/получения максимальной скорости, с которой сочленение может применять исправления. Значение этого параметра по умолчанию — ``3.40282e+38``.
|
||
|
||
\ **Примечание:** В физике Godot этот параметр используется только для сочленений с канавками.
|
||
|
||
.. _class_PhysicsServer2D_constant_JOINT_PARAM_MAX_FORCE:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`JointParam<enum_PhysicsServer2D_JointParam>` **JOINT_PARAM_MAX_FORCE** = ``2``
|
||
|
||
Константа для установки/получения максимальной силы, которую может использовать соединение для воздействия на два тела. Значение этого параметра по умолчанию — ``3.40282e+38``.
|
||
|
||
\ **Примечание:** В физике Годо этот параметр используется только для пазов.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _enum_PhysicsServer2D_PinJointParam:
|
||
|
||
.. rst-class:: classref-enumeration
|
||
|
||
enum **PinJointParam**: :ref:`🔗<enum_PhysicsServer2D_PinJointParam>`
|
||
|
||
.. _class_PhysicsServer2D_constant_PIN_JOINT_SOFTNESS:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`PinJointParam<enum_PhysicsServer2D_PinJointParam>` **PIN_JOINT_SOFTNESS** = ``0``
|
||
|
||
Константа для установки/получения того, насколько может изгибаться соединение штифтового соединения. Значение этого параметра по умолчанию — ``0.0``.
|
||
|
||
.. _class_PhysicsServer2D_constant_PIN_JOINT_LIMIT_UPPER:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`PinJointParam<enum_PhysicsServer2D_PinJointParam>` **PIN_JOINT_LIMIT_UPPER** = ``1``
|
||
|
||
Максимальное вращение вокруг штифта.
|
||
|
||
.. _class_PhysicsServer2D_constant_PIN_JOINT_LIMIT_LOWER:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`PinJointParam<enum_PhysicsServer2D_PinJointParam>` **PIN_JOINT_LIMIT_LOWER** = ``2``
|
||
|
||
Минимальное вращение вокруг штифта.
|
||
|
||
.. _class_PhysicsServer2D_constant_PIN_JOINT_MOTOR_TARGET_VELOCITY:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`PinJointParam<enum_PhysicsServer2D_PinJointParam>` **PIN_JOINT_MOTOR_TARGET_VELOCITY** = ``3``
|
||
|
||
Целевая скорость двигателя. В радианах в секунду.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _enum_PhysicsServer2D_PinJointFlag:
|
||
|
||
.. rst-class:: classref-enumeration
|
||
|
||
enum **PinJointFlag**: :ref:`🔗<enum_PhysicsServer2D_PinJointFlag>`
|
||
|
||
.. _class_PhysicsServer2D_constant_PIN_JOINT_FLAG_ANGULAR_LIMIT_ENABLED:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`PinJointFlag<enum_PhysicsServer2D_PinJointFlag>` **PIN_JOINT_FLAG_ANGULAR_LIMIT_ENABLED** = ``0``
|
||
|
||
Если ``true``, штифт имеет максимальное и минимальное вращение.
|
||
|
||
.. _class_PhysicsServer2D_constant_PIN_JOINT_FLAG_MOTOR_ENABLED:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`PinJointFlag<enum_PhysicsServer2D_PinJointFlag>` **PIN_JOINT_FLAG_MOTOR_ENABLED** = ``1``
|
||
|
||
Если ``true``, двигатель поворачивает штифт.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _enum_PhysicsServer2D_DampedSpringParam:
|
||
|
||
.. rst-class:: classref-enumeration
|
||
|
||
enum **DampedSpringParam**: :ref:`🔗<enum_PhysicsServer2D_DampedSpringParam>`
|
||
|
||
.. _class_PhysicsServer2D_constant_DAMPED_SPRING_REST_LENGTH:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`DampedSpringParam<enum_PhysicsServer2D_DampedSpringParam>` **DAMPED_SPRING_REST_LENGTH** = ``0``
|
||
|
||
Устанавливает длину покоя пружинного соединения. Соединение всегда будет пытаться вернуться на эту длину при раздвижении. Значение этого параметра по умолчанию — расстояние между точками крепления соединения.
|
||
|
||
.. _class_PhysicsServer2D_constant_DAMPED_SPRING_STIFFNESS:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`DampedSpringParam<enum_PhysicsServer2D_DampedSpringParam>` **DAMPED_SPRING_STIFFNESS** = ``1``
|
||
|
||
Устанавливает жесткость пружинного соединения. Соединение прикладывает силу, равную жесткости, умноженной на расстояние от его длины покоя. Значение этого параметра по умолчанию — ``20.0``.
|
||
|
||
.. _class_PhysicsServer2D_constant_DAMPED_SPRING_DAMPING:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`DampedSpringParam<enum_PhysicsServer2D_DampedSpringParam>` **DAMPED_SPRING_DAMPING** = ``2``
|
||
|
||
Устанавливает коэффициент демпфирования пружинного соединения. Значение 0 указывает на недемпфированную пружину, а значение 1 заставляет систему достигать равновесия как можно быстрее (критическое демпфирование). Значение этого параметра по умолчанию — ``1.5``.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _enum_PhysicsServer2D_CCDMode:
|
||
|
||
.. rst-class:: classref-enumeration
|
||
|
||
enum **CCDMode**: :ref:`🔗<enum_PhysicsServer2D_CCDMode>`
|
||
|
||
.. _class_PhysicsServer2D_constant_CCD_MODE_DISABLED:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`CCDMode<enum_PhysicsServer2D_CCDMode>` **CCD_MODE_DISABLED** = ``0``
|
||
|
||
Отключает непрерывное обнаружение столкновений. Это самый быстрый способ обнаружения столкновений тел, но он может пропустить небольшие и/или быстро движущиеся объекты.
|
||
|
||
.. _class_PhysicsServer2D_constant_CCD_MODE_CAST_RAY:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`CCDMode<enum_PhysicsServer2D_CCDMode>` **CCD_MODE_CAST_RAY** = ``1``
|
||
|
||
Позволяет непрерывно обнаруживать столкновения с помощью raycasting. Это быстрее, чем shapecasting, но менее точно.
|
||
|
||
.. _class_PhysicsServer2D_constant_CCD_MODE_CAST_SHAPE:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`CCDMode<enum_PhysicsServer2D_CCDMode>` **CCD_MODE_CAST_SHAPE** = ``2``
|
||
|
||
Позволяет непрерывно обнаруживать столкновения с помощью шейпкастинга. Это самый медленный метод ПЗС, но и самый точный.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _enum_PhysicsServer2D_AreaBodyStatus:
|
||
|
||
.. rst-class:: classref-enumeration
|
||
|
||
enum **AreaBodyStatus**: :ref:`🔗<enum_PhysicsServer2D_AreaBodyStatus>`
|
||
|
||
.. _class_PhysicsServer2D_constant_AREA_BODY_ADDED:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`AreaBodyStatus<enum_PhysicsServer2D_AreaBodyStatus>` **AREA_BODY_ADDED** = ``0``
|
||
|
||
Значение первого параметра и функция обратного вызова области получает, когда объект входит в одну из ее фигур.
|
||
|
||
.. _class_PhysicsServer2D_constant_AREA_BODY_REMOVED:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`AreaBodyStatus<enum_PhysicsServer2D_AreaBodyStatus>` **AREA_BODY_REMOVED** = ``1``
|
||
|
||
Значение первого параметра и функция обратного вызова области получает, когда объект выходит из одной из своих фигур.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _enum_PhysicsServer2D_ProcessInfo:
|
||
|
||
.. rst-class:: classref-enumeration
|
||
|
||
enum **ProcessInfo**: :ref:`🔗<enum_PhysicsServer2D_ProcessInfo>`
|
||
|
||
.. _class_PhysicsServer2D_constant_INFO_ACTIVE_OBJECTS:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`ProcessInfo<enum_PhysicsServer2D_ProcessInfo>` **INFO_ACTIVE_OBJECTS** = ``0``
|
||
|
||
Константа для получения количества объектов, которые не спят.
|
||
|
||
.. _class_PhysicsServer2D_constant_INFO_COLLISION_PAIRS:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`ProcessInfo<enum_PhysicsServer2D_ProcessInfo>` **INFO_COLLISION_PAIRS** = ``1``
|
||
|
||
Константа для получения количества возможных столкновений.
|
||
|
||
.. _class_PhysicsServer2D_constant_INFO_ISLAND_COUNT:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`ProcessInfo<enum_PhysicsServer2D_ProcessInfo>` **INFO_ISLAND_COUNT** = ``2``
|
||
|
||
Константа для получения количества областей пространства, где может произойти столкновение.
|
||
|
||
.. rst-class:: classref-section-separator
|
||
|
||
----
|
||
|
||
.. rst-class:: classref-descriptions-group
|
||
|
||
Описания метода
|
||
------------------------------
|
||
|
||
.. _class_PhysicsServer2D_method_area_add_shape:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **area_add_shape**\ (\ area\: :ref:`RID<class_RID>`, shape\: :ref:`RID<class_RID>`, transform\: :ref:`Transform2D<class_Transform2D>` = Transform2D(1, 0, 0, 1, 0, 0), disabled\: :ref:`bool<class_bool>` = false\ ) :ref:`🔗<class_PhysicsServer2D_method_area_add_shape>`
|
||
|
||
Добавляет фигуру к области с заданным локальным преобразованием. Фигура (вместе со своими свойствами ``transform`` и ``disabled``) добавляется в массив фигур, а фигуры области обычно ссылаются по их индексу в этом массиве.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_PhysicsServer2D_method_area_attach_canvas_instance_id:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **area_attach_canvas_instance_id**\ (\ area\: :ref:`RID<class_RID>`, id\: :ref:`int<class_int>`\ ) :ref:`🔗<class_PhysicsServer2D_method_area_attach_canvas_instance_id>`
|
||
|
||
Прикрепляет ``ObjectID`` холста к области. Используйте :ref:`Object.get_instance_id()<class_Object_method_get_instance_id>`, чтобы получить ``ObjectID`` для :ref:`CanvasLayer<class_CanvasLayer>`.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_PhysicsServer2D_method_area_attach_object_instance_id:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **area_attach_object_instance_id**\ (\ area\: :ref:`RID<class_RID>`, id\: :ref:`int<class_int>`\ ) :ref:`🔗<class_PhysicsServer2D_method_area_attach_object_instance_id>`
|
||
|
||
Прикрепляет ``ObjectID`` :ref:`Object<class_Object>` к области. Используйте :ref:`Object.get_instance_id()<class_Object_method_get_instance_id>`, чтобы получить ``ObjectID`` для :ref:`CollisionObject2D<class_CollisionObject2D>`.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_PhysicsServer2D_method_area_clear_shapes:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **area_clear_shapes**\ (\ area\: :ref:`RID<class_RID>`\ ) :ref:`🔗<class_PhysicsServer2D_method_area_clear_shapes>`
|
||
|
||
Удаляет все фигуры из области. Это не удаляет сами фигуры, поэтому их можно продолжать использовать в другом месте или добавлять обратно позже.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_PhysicsServer2D_method_area_create:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`RID<class_RID>` **area_create**\ (\ ) :ref:`🔗<class_PhysicsServer2D_method_area_create>`
|
||
|
||
Создает объект 2D-области на физическом сервере и возвращает :ref:`RID<class_RID>`, который его идентифицирует. Настройки по умолчанию для созданной области включают слой столкновений и маску, установленные на ``1``, и ``monitorable``, установленные на ``false``.
|
||
|
||
Используйте :ref:`area_add_shape()<class_PhysicsServer2D_method_area_add_shape>`, чтобы добавить к нему формы, используйте :ref:`area_set_transform()<class_PhysicsServer2D_method_area_set_transform>`, чтобы задать его преобразование, и используйте :ref:`area_set_space()<class_PhysicsServer2D_method_area_set_space>`, чтобы добавить область в пространство. Если вы хотите, чтобы область была обнаруживаемой, используйте :ref:`area_set_monitorable()<class_PhysicsServer2D_method_area_set_monitorable>`.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_PhysicsServer2D_method_area_get_canvas_instance_id:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`int<class_int>` **area_get_canvas_instance_id**\ (\ area\: :ref:`RID<class_RID>`\ ) |const| :ref:`🔗<class_PhysicsServer2D_method_area_get_canvas_instance_id>`
|
||
|
||
Возвращает ``ObjectID`` холста, прикрепленного к области. Используйте :ref:`@GlobalScope.instance_from_id()<class_@GlobalScope_method_instance_from_id>`, чтобы получить :ref:`CanvasLayer<class_CanvasLayer>` из ненулевого ``ObjectID``.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_PhysicsServer2D_method_area_get_collision_layer:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`int<class_int>` **area_get_collision_layer**\ (\ area\: :ref:`RID<class_RID>`\ ) |const| :ref:`🔗<class_PhysicsServer2D_method_area_get_collision_layer>`
|
||
|
||
Возвращает физический слой или слои, к которым принадлежит область, в виде битовой маски.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_PhysicsServer2D_method_area_get_collision_mask:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`int<class_int>` **area_get_collision_mask**\ (\ area\: :ref:`RID<class_RID>`\ ) |const| :ref:`🔗<class_PhysicsServer2D_method_area_get_collision_mask>`
|
||
|
||
Возвращает физический слой или слои, с которыми может контактировать область, в виде битовой маски.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_PhysicsServer2D_method_area_get_object_instance_id:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`int<class_int>` **area_get_object_instance_id**\ (\ area\: :ref:`RID<class_RID>`\ ) |const| :ref:`🔗<class_PhysicsServer2D_method_area_get_object_instance_id>`
|
||
|
||
Возвращает ``ObjectID``, прикрепленный к области. Используйте :ref:`@GlobalScope.instance_from_id()<class_@GlobalScope_method_instance_from_id>`, чтобы извлечь :ref:`Object<class_Object>` из ненулевого ``ObjectID``.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_PhysicsServer2D_method_area_get_param:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`Variant<class_Variant>` **area_get_param**\ (\ area\: :ref:`RID<class_RID>`, param\: :ref:`AreaParameter<enum_PhysicsServer2D_AreaParameter>`\ ) |const| :ref:`🔗<class_PhysicsServer2D_method_area_get_param>`
|
||
|
||
Возвращает значение заданного параметра площади.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_PhysicsServer2D_method_area_get_shape:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`RID<class_RID>` **area_get_shape**\ (\ area\: :ref:`RID<class_RID>`, shape_idx\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_PhysicsServer2D_method_area_get_shape>`
|
||
|
||
Возвращает :ref:`RID<class_RID>` фигуры с указанным индексом в массиве фигур области.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_PhysicsServer2D_method_area_get_shape_count:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`int<class_int>` **area_get_shape_count**\ (\ area\: :ref:`RID<class_RID>`\ ) |const| :ref:`🔗<class_PhysicsServer2D_method_area_get_shape_count>`
|
||
|
||
Возвращает количество фигур, добавленных в область.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_PhysicsServer2D_method_area_get_shape_transform:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`Transform2D<class_Transform2D>` **area_get_shape_transform**\ (\ area\: :ref:`RID<class_RID>`, shape_idx\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_PhysicsServer2D_method_area_get_shape_transform>`
|
||
|
||
Возвращает матрицу локального преобразования фигуры с заданным индексом в массиве фигур области.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_PhysicsServer2D_method_area_get_space:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`RID<class_RID>` **area_get_space**\ (\ area\: :ref:`RID<class_RID>`\ ) |const| :ref:`🔗<class_PhysicsServer2D_method_area_get_space>`
|
||
|
||
Возвращает :ref:`RID<class_RID>` пространства, назначенного области. Возвращает пустой :ref:`RID<class_RID>`, если пространство не назначено.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_PhysicsServer2D_method_area_get_transform:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`Transform2D<class_Transform2D>` **area_get_transform**\ (\ area\: :ref:`RID<class_RID>`\ ) |const| :ref:`🔗<class_PhysicsServer2D_method_area_get_transform>`
|
||
|
||
Возвращает матрицу преобразования области.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_PhysicsServer2D_method_area_remove_shape:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **area_remove_shape**\ (\ area\: :ref:`RID<class_RID>`, shape_idx\: :ref:`int<class_int>`\ ) :ref:`🔗<class_PhysicsServer2D_method_area_remove_shape>`
|
||
|
||
Удаляет фигуру с указанным индексом из массива фигур области. Сама фигура не удаляется, поэтому ее можно использовать в другом месте или добавить обратно позже. В результате этой операции у фигур области, которые имели индексы выше ``shape_idx``, индекс будет уменьшен на единицу.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_PhysicsServer2D_method_area_set_area_monitor_callback:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **area_set_area_monitor_callback**\ (\ area\: :ref:`RID<class_RID>`, callback\: :ref:`Callable<class_Callable>`\ ) :ref:`🔗<class_PhysicsServer2D_method_area_set_area_monitor_callback>`
|
||
|
||
Устанавливает обратный вызов монитора области. Этот обратный вызов будет вызван, когда любая другая (форма) области входит или выходит из (формы) заданной области, и должен принимать следующие пять параметров:
|
||
|
||
1. целое число ``status``: либо :ref:`AREA_BODY_ADDED<class_PhysicsServer2D_constant_AREA_BODY_ADDED>` или :ref:`AREA_BODY_REMOVED<class_PhysicsServer2D_constant_AREA_BODY_REMOVED>` в зависимости от того, вошла или вышла из области форма другой области,
|
||
|
||
2. :ref:`RID<class_RID>` ``area_rid``: :ref:`RID<class_RID>` другой области, которая вошла или вышла из области,
|
||
|
||
3. целое число ``instance_id``: ``ObjectID``, прикрепленный к другой области,
|
||
|
||
4. целое число ``area_shape_idx``: индекс формы другой области, которая вошла или вышла из области,
|
||
|
||
5. целое число ``self_shape_idx``: индекс формы области, в которую вошла или вышла другая область.
|
||
|
||
Подсчитывая (или отслеживая) входящие и выходящие фигуры, можно определить, входит ли область (со всеми ее фигурами) в первый раз или выходит в последний раз.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_PhysicsServer2D_method_area_set_collision_layer:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **area_set_collision_layer**\ (\ area\: :ref:`RID<class_RID>`, layer\: :ref:`int<class_int>`\ ) :ref:`🔗<class_PhysicsServer2D_method_area_set_collision_layer>`
|
||
|
||
Назначает область одному или нескольким физическим слоям с помощью битовой маски.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_PhysicsServer2D_method_area_set_collision_mask:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **area_set_collision_mask**\ (\ area\: :ref:`RID<class_RID>`, mask\: :ref:`int<class_int>`\ ) :ref:`🔗<class_PhysicsServer2D_method_area_set_collision_mask>`
|
||
|
||
Устанавливает, какие физические слои будет отслеживать область, с помощью битовой маски.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_PhysicsServer2D_method_area_set_monitor_callback:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **area_set_monitor_callback**\ (\ area\: :ref:`RID<class_RID>`, callback\: :ref:`Callable<class_Callable>`\ ) :ref:`🔗<class_PhysicsServer2D_method_area_set_monitor_callback>`
|
||
|
||
Устанавливает обратный вызов монитора тела области. Этот обратный вызов будет вызван, когда любое другое (форма) тело входит или выходит (форма) из заданной области, и должен принимать следующие пять параметров:
|
||
|
||
1. целое число ``status``: либо :ref:`AREA_BODY_ADDED<class_PhysicsServer2D_constant_AREA_BODY_ADDED>` или :ref:`AREA_BODY_REMOVED<class_PhysicsServer2D_constant_AREA_BODY_REMOVED>` в зависимости от того, вошла или вышла из области другая форма тела,
|
||
|
||
2. :ref:`RID<class_RID>` ``body_rid``: :ref:`RID<class_RID>` тела, которое вошло или вышло из области,
|
||
|
||
3. целое число ``instance_id``: ``ObjectID``, прикрепленный к телу,
|
||
|
||
4. целое число ``body_shape_idx``: индекс формы тела, которое вошло или вышло из области,
|
||
|
||
5. целое число ``self_shape_idx``: индекс формы области, в которую тело вошло или вышло.
|
||
|
||
Подсчитывая (или отслеживая) входящие и выходящие формы, можно определить, входит ли тело (со всеми его формами) в первый раз или выходит в последний раз.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_PhysicsServer2D_method_area_set_monitorable:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **area_set_monitorable**\ (\ area\: :ref:`RID<class_RID>`, monitorable\: :ref:`bool<class_bool>`\ ) :ref:`🔗<class_PhysicsServer2D_method_area_set_monitorable>`
|
||
|
||
Устанавливает, является ли область контролируемой или нет. Если ``monitorable`` имеет значение ``true``, обратный вызов мониторинга области других областей будет вызван, когда эта область входит в них или выходит из них.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_PhysicsServer2D_method_area_set_param:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **area_set_param**\ (\ area\: :ref:`RID<class_RID>`, param\: :ref:`AreaParameter<enum_PhysicsServer2D_AreaParameter>`, value\: :ref:`Variant<class_Variant>`\ ) :ref:`🔗<class_PhysicsServer2D_method_area_set_param>`
|
||
|
||
Устанавливает значение заданного параметра области.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_PhysicsServer2D_method_area_set_shape:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **area_set_shape**\ (\ area\: :ref:`RID<class_RID>`, shape_idx\: :ref:`int<class_int>`, shape\: :ref:`RID<class_RID>`\ ) :ref:`🔗<class_PhysicsServer2D_method_area_set_shape>`
|
||
|
||
Заменяет форму области по указанному индексу на другую форму, не влияя на свойства ``transform`` и ``disabled`` по тому же индексу.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_PhysicsServer2D_method_area_set_shape_disabled:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **area_set_shape_disabled**\ (\ area\: :ref:`RID<class_RID>`, shape_idx\: :ref:`int<class_int>`, disabled\: :ref:`bool<class_bool>`\ ) :ref:`🔗<class_PhysicsServer2D_method_area_set_shape_disabled>`
|
||
|
||
Устанавливает отключенное свойство формы области с заданным индексом. Если ``disabled`` равен ``true``, то форма не будет обнаруживать никакие другие формы, входящие или выходящие из нее.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_PhysicsServer2D_method_area_set_shape_transform:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **area_set_shape_transform**\ (\ area\: :ref:`RID<class_RID>`, shape_idx\: :ref:`int<class_int>`, transform\: :ref:`Transform2D<class_Transform2D>`\ ) :ref:`🔗<class_PhysicsServer2D_method_area_set_shape_transform>`
|
||
|
||
Задает матрицу локального преобразования формы области с заданным индексом.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_PhysicsServer2D_method_area_set_space:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **area_set_space**\ (\ area\: :ref:`RID<class_RID>`, space\: :ref:`RID<class_RID>`\ ) :ref:`🔗<class_PhysicsServer2D_method_area_set_space>`
|
||
|
||
Добавляет область к указанному пространству после удаления области из ранее назначенного пространства (если таковое имеется).
|
||
|
||
\ **Примечание:** Чтобы удалить область из пространства без немедленного добавления ее обратно в другое место, используйте ``PhysicsServer2D.area_set_space(area, RID())``.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_PhysicsServer2D_method_area_set_transform:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **area_set_transform**\ (\ area\: :ref:`RID<class_RID>`, transform\: :ref:`Transform2D<class_Transform2D>`\ ) :ref:`🔗<class_PhysicsServer2D_method_area_set_transform>`
|
||
|
||
Задает матрицу преобразования области.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_PhysicsServer2D_method_body_add_collision_exception:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **body_add_collision_exception**\ (\ body\: :ref:`RID<class_RID>`, excepted_body\: :ref:`RID<class_RID>`\ ) :ref:`🔗<class_PhysicsServer2D_method_body_add_collision_exception>`
|
||
|
||
Добавляет ``exceptioned_body`` в список исключений столкновений тела, чтобы столкновения с ним игнорировались.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_PhysicsServer2D_method_body_add_constant_central_force:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **body_add_constant_central_force**\ (\ body\: :ref:`RID<class_RID>`, force\: :ref:`Vector2<class_Vector2>`\ ) :ref:`🔗<class_PhysicsServer2D_method_body_add_constant_central_force>`
|
||
|
||
Добавляет постоянную направленную силу к телу. Сила не влияет на вращение. Сила остается приложенной с течением времени, пока не будет очищена с помощью ``PhysicsServer2D.body_set_constant_force(body, Vector2(0, 0))``.
|
||
|
||
Это эквивалентно использованию :ref:`body_add_constant_force()<class_PhysicsServer2D_method_body_add_constant_force>` в центре масс тела.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_PhysicsServer2D_method_body_add_constant_force:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **body_add_constant_force**\ (\ body\: :ref:`RID<class_RID>`, force\: :ref:`Vector2<class_Vector2>`, position\: :ref:`Vector2<class_Vector2>` = Vector2(0, 0)\ ) :ref:`🔗<class_PhysicsServer2D_method_body_add_constant_force>`
|
||
|
||
Добавляет постоянную позиционную силу к телу. Сила может влиять на вращение, если ``position`` отличается от центра масс тела. Сила остается приложенной с течением времени, пока не будет очищена с помощью ``PhysicsServer2D.body_set_constant_force(body, Vector2(0, 0))``.
|
||
|
||
\ ``position`` — это смещение от начала координат тела в глобальных координатах.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_PhysicsServer2D_method_body_add_constant_torque:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **body_add_constant_torque**\ (\ body\: :ref:`RID<class_RID>`, torque\: :ref:`float<class_float>`\ ) :ref:`🔗<class_PhysicsServer2D_method_body_add_constant_torque>`
|
||
|
||
Добавляет постоянную вращательную силу к телу. Сила не влияет на положение. Сила остается приложенной с течением времени, пока не будет очищена с помощью ``PhysicsServer2D.body_set_constant_torque(body, 0)``.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_PhysicsServer2D_method_body_add_shape:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **body_add_shape**\ (\ body\: :ref:`RID<class_RID>`, shape\: :ref:`RID<class_RID>`, transform\: :ref:`Transform2D<class_Transform2D>` = Transform2D(1, 0, 0, 1, 0, 0), disabled\: :ref:`bool<class_bool>` = false\ ) :ref:`🔗<class_PhysicsServer2D_method_body_add_shape>`
|
||
|
||
Добавляет фигуру к области с заданным локальным преобразованием. Фигура (вместе со своими свойствами ``transform`` и ``disabled``) добавляется в массив фигур, а фигуры тела обычно ссылаются по их индексу в этом массиве.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_PhysicsServer2D_method_body_apply_central_force:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **body_apply_central_force**\ (\ body\: :ref:`RID<class_RID>`, force\: :ref:`Vector2<class_Vector2>`\ ) :ref:`🔗<class_PhysicsServer2D_method_body_apply_central_force>`
|
||
|
||
Применяет направленную силу к телу в центре масс тела. Сила не влияет на вращение. Сила зависит от времени и должна применяться при каждом обновлении физики.
|
||
|
||
Это эквивалентно использованию :ref:`body_apply_force()<class_PhysicsServer2D_method_body_apply_force>` в центре масс тела.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_PhysicsServer2D_method_body_apply_central_impulse:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **body_apply_central_impulse**\ (\ body\: :ref:`RID<class_RID>`, impulse\: :ref:`Vector2<class_Vector2>`\ ) :ref:`🔗<class_PhysicsServer2D_method_body_apply_central_impulse>`
|
||
|
||
Применяет направленный импульс к телу в центре масс тела. Импульс не влияет на вращение.
|
||
|
||
Импульс не зависит от времени! Применение импульса в каждом кадре приведет к силе, зависящей от частоты кадров. По этой причине его следует использовать только при моделировании одноразовых ударов (в противном случае используйте функции "_force").
|
||
|
||
Это эквивалентно использованию :ref:`body_apply_impulse()<class_PhysicsServer2D_method_body_apply_impulse>` в центре масс тела.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_PhysicsServer2D_method_body_apply_force:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **body_apply_force**\ (\ body\: :ref:`RID<class_RID>`, force\: :ref:`Vector2<class_Vector2>`, position\: :ref:`Vector2<class_Vector2>` = Vector2(0, 0)\ ) :ref:`🔗<class_PhysicsServer2D_method_body_apply_force>`
|
||
|
||
Применяет позиционированную силу к телу. Сила может влиять на вращение, если ``position`` отличается от центра масс тела. Сила зависит от времени и должна применяться при каждом обновлении физики.
|
||
|
||
\ ``position`` — это смещение от начала координат тела в глобальных координатах.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_PhysicsServer2D_method_body_apply_impulse:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **body_apply_impulse**\ (\ body\: :ref:`RID<class_RID>`, impulse\: :ref:`Vector2<class_Vector2>`, position\: :ref:`Vector2<class_Vector2>` = Vector2(0, 0)\ ) :ref:`🔗<class_PhysicsServer2D_method_body_apply_impulse>`
|
||
|
||
Применяет позиционированный импульс к телу. Импульс может влиять на вращение, если ``position`` отличается от центра масс тела.
|
||
|
||
Импульс не зависит от времени! Применение импульса в каждом кадре приведет к силе, зависящей от частоты кадров. По этой причине его следует использовать только при моделировании одноразовых ударов (в противном случае используйте функции "_force").
|
||
|
||
\ ``position`` — это смещение от начала координат тела в глобальных координатах.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_PhysicsServer2D_method_body_apply_torque:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **body_apply_torque**\ (\ body\: :ref:`RID<class_RID>`, torque\: :ref:`float<class_float>`\ ) :ref:`🔗<class_PhysicsServer2D_method_body_apply_torque>`
|
||
|
||
Применяет вращательную силу к телу. Сила не влияет на положение. Сила зависит от времени и должна применяться при каждом обновлении физики.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_PhysicsServer2D_method_body_apply_torque_impulse:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **body_apply_torque_impulse**\ (\ body\: :ref:`RID<class_RID>`, impulse\: :ref:`float<class_float>`\ ) :ref:`🔗<class_PhysicsServer2D_method_body_apply_torque_impulse>`
|
||
|
||
Применяет вращательный импульс к телу. Импульс не влияет на положение.
|
||
|
||
Импульс не зависит от времени! Применение импульса в каждом кадре приведет к силе, зависящей от частоты кадров. По этой причине его следует использовать только при моделировании одноразовых ударов (в противном случае используйте функции "_force").
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_PhysicsServer2D_method_body_attach_canvas_instance_id:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **body_attach_canvas_instance_id**\ (\ body\: :ref:`RID<class_RID>`, id\: :ref:`int<class_int>`\ ) :ref:`🔗<class_PhysicsServer2D_method_body_attach_canvas_instance_id>`
|
||
|
||
Прикрепляет ``ObjectID`` холста к телу. Используйте :ref:`Object.get_instance_id()<class_Object_method_get_instance_id>`, чтобы получить ``ObjectID`` :ref:`CanvasLayer<class_CanvasLayer>`.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_PhysicsServer2D_method_body_attach_object_instance_id:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **body_attach_object_instance_id**\ (\ body\: :ref:`RID<class_RID>`, id\: :ref:`int<class_int>`\ ) :ref:`🔗<class_PhysicsServer2D_method_body_attach_object_instance_id>`
|
||
|
||
Прикрепляет ``ObjectID``, из :ref:`Object<class_Object>`, к телу. Используйте :ref:`Object.get_instance_id()<class_Object_method_get_instance_id>`, чтобы получить ``ObjectID`` :ref:`CollisionObject2D<class_CollisionObject2D>`.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_PhysicsServer2D_method_body_clear_shapes:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **body_clear_shapes**\ (\ body\: :ref:`RID<class_RID>`\ ) :ref:`🔗<class_PhysicsServer2D_method_body_clear_shapes>`
|
||
|
||
Удаляет все фигуры из тела. Это не удаляет сами фигуры, поэтому их можно продолжать использовать в другом месте или добавлять обратно позже.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_PhysicsServer2D_method_body_create:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`RID<class_RID>` **body_create**\ (\ ) :ref:`🔗<class_PhysicsServer2D_method_body_create>`
|
||
|
||
Создает объект 2D-тела на физическом сервере и возвращает :ref:`RID<class_RID>`, который его идентифицирует. Настройки по умолчанию для созданной области включают слой столкновения и маску, установленные на ``1``, и режим тела, установленный на :ref:`BODY_MODE_RIGID<class_PhysicsServer2D_constant_BODY_MODE_RIGID>`.
|
||
|
||
Используйте :ref:`body_add_shape()<class_PhysicsServer2D_method_body_add_shape>`, чтобы добавить к нему формы, используйте :ref:`body_set_state()<class_PhysicsServer2D_method_body_set_state>`, чтобы задать его преобразование, и используйте :ref:`body_set_space()<class_PhysicsServer2D_method_body_set_space>`, чтобы добавить тело в пространство.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_PhysicsServer2D_method_body_get_canvas_instance_id:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`int<class_int>` **body_get_canvas_instance_id**\ (\ body\: :ref:`RID<class_RID>`\ ) |const| :ref:`🔗<class_PhysicsServer2D_method_body_get_canvas_instance_id>`
|
||
|
||
Возвращает ``ObjectID`` холста, прикрепленного к телу. Используйте :ref:`@GlobalScope.instance_from_id()<class_@GlobalScope_method_instance_from_id>`, чтобы получить :ref:`CanvasLayer<class_CanvasLayer>` из ненулевого ``ObjectID``.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_PhysicsServer2D_method_body_get_collision_layer:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`int<class_int>` **body_get_collision_layer**\ (\ body\: :ref:`RID<class_RID>`\ ) |const| :ref:`🔗<class_PhysicsServer2D_method_body_get_collision_layer>`
|
||
|
||
Возвращает физический слой или слои, к которым принадлежит тело, в виде битовой маски.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_PhysicsServer2D_method_body_get_collision_mask:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`int<class_int>` **body_get_collision_mask**\ (\ body\: :ref:`RID<class_RID>`\ ) |const| :ref:`🔗<class_PhysicsServer2D_method_body_get_collision_mask>`
|
||
|
||
Возвращает физический слой или слои, с которыми может сталкиваться тело, в виде битовой маски.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_PhysicsServer2D_method_body_get_collision_priority:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`float<class_float>` **body_get_collision_priority**\ (\ body\: :ref:`RID<class_RID>`\ ) |const| :ref:`🔗<class_PhysicsServer2D_method_body_get_collision_priority>`
|
||
|
||
Возвращает приоритет столкновения тела. Используется в фазе депенетирования :ref:`body_test_motion()<class_PhysicsServer2D_method_body_test_motion>`. Чем выше приоритет, тем ниже будет проникновение в тело.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_PhysicsServer2D_method_body_get_constant_force:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`Vector2<class_Vector2>` **body_get_constant_force**\ (\ body\: :ref:`RID<class_RID>`\ ) |const| :ref:`🔗<class_PhysicsServer2D_method_body_get_constant_force>`
|
||
|
||
Возвращает общую постоянную позиционную силу тела, применяемую во время каждого обновления физики.
|
||
|
||
См. :ref:`body_add_constant_force()<class_PhysicsServer2D_method_body_add_constant_force>` и :ref:`body_add_constant_central_force()<class_PhysicsServer2D_method_body_add_constant_central_force>`.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_PhysicsServer2D_method_body_get_constant_torque:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`float<class_float>` **body_get_constant_torque**\ (\ body\: :ref:`RID<class_RID>`\ ) |const| :ref:`🔗<class_PhysicsServer2D_method_body_get_constant_torque>`
|
||
|
||
Возвращает общую постоянную вращательную силу тела, применяемую во время каждого обновления физики.
|
||
|
||
См. :ref:`body_add_constant_torque()<class_PhysicsServer2D_method_body_add_constant_torque>`.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_PhysicsServer2D_method_body_get_continuous_collision_detection_mode:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`CCDMode<enum_PhysicsServer2D_CCDMode>` **body_get_continuous_collision_detection_mode**\ (\ body\: :ref:`RID<class_RID>`\ ) |const| :ref:`🔗<class_PhysicsServer2D_method_body_get_continuous_collision_detection_mode>`
|
||
|
||
Возвращает режим непрерывного обнаружения столкновений тела.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_PhysicsServer2D_method_body_get_direct_state:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`PhysicsDirectBodyState2D<class_PhysicsDirectBodyState2D>` **body_get_direct_state**\ (\ body\: :ref:`RID<class_RID>`\ ) :ref:`🔗<class_PhysicsServer2D_method_body_get_direct_state>`
|
||
|
||
Возвращает :ref:`PhysicsDirectBodyState2D<class_PhysicsDirectBodyState2D>` тела. Возвращает ``null``, если тело уничтожено или не назначено пространству.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_PhysicsServer2D_method_body_get_max_contacts_reported:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`int<class_int>` **body_get_max_contacts_reported**\ (\ body\: :ref:`RID<class_RID>`\ ) |const| :ref:`🔗<class_PhysicsServer2D_method_body_get_max_contacts_reported>`
|
||
|
||
Возвращает максимальное количество контактов, о которых может сообщить тело. См. :ref:`body_set_max_contacts_reported()<class_PhysicsServer2D_method_body_set_max_contacts_reported>`.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_PhysicsServer2D_method_body_get_mode:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`BodyMode<enum_PhysicsServer2D_BodyMode>` **body_get_mode**\ (\ body\: :ref:`RID<class_RID>`\ ) |const| :ref:`🔗<class_PhysicsServer2D_method_body_get_mode>`
|
||
|
||
Возвращает режим тела.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_PhysicsServer2D_method_body_get_object_instance_id:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`int<class_int>` **body_get_object_instance_id**\ (\ body\: :ref:`RID<class_RID>`\ ) |const| :ref:`🔗<class_PhysicsServer2D_method_body_get_object_instance_id>`
|
||
|
||
Возвращает ``ObjectID``, прикрепленный к телу. Используйте :ref:`@GlobalScope.instance_from_id()<class_@GlobalScope_method_instance_from_id>`, чтобы извлечь :ref:`Object<class_Object>` из ненулевого ``ObjectID``.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_PhysicsServer2D_method_body_get_param:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`Variant<class_Variant>` **body_get_param**\ (\ body\: :ref:`RID<class_RID>`, param\: :ref:`BodyParameter<enum_PhysicsServer2D_BodyParameter>`\ ) |const| :ref:`🔗<class_PhysicsServer2D_method_body_get_param>`
|
||
|
||
Возвращает значение указанного параметра тела.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_PhysicsServer2D_method_body_get_shape:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`RID<class_RID>` **body_get_shape**\ (\ body\: :ref:`RID<class_RID>`, shape_idx\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_PhysicsServer2D_method_body_get_shape>`
|
||
|
||
Возвращает :ref:`RID<class_RID>` фигуры с указанным индексом в массиве фигур тела.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_PhysicsServer2D_method_body_get_shape_count:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`int<class_int>` **body_get_shape_count**\ (\ body\: :ref:`RID<class_RID>`\ ) |const| :ref:`🔗<class_PhysicsServer2D_method_body_get_shape_count>`
|
||
|
||
Возвращает количество фигур, добавленных к телу.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_PhysicsServer2D_method_body_get_shape_transform:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`Transform2D<class_Transform2D>` **body_get_shape_transform**\ (\ body\: :ref:`RID<class_RID>`, shape_idx\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_PhysicsServer2D_method_body_get_shape_transform>`
|
||
|
||
Возвращает матрицу локального преобразования фигуры с заданным индексом в массиве фигур области.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_PhysicsServer2D_method_body_get_space:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`RID<class_RID>` **body_get_space**\ (\ body\: :ref:`RID<class_RID>`\ ) |const| :ref:`🔗<class_PhysicsServer2D_method_body_get_space>`
|
||
|
||
Возвращает :ref:`RID<class_RID>` пространства, назначенного телу. Возвращает пустой :ref:`RID<class_RID>`, если пространство не назначено.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_PhysicsServer2D_method_body_get_state:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`Variant<class_Variant>` **body_get_state**\ (\ body\: :ref:`RID<class_RID>`, state\: :ref:`BodyState<enum_PhysicsServer2D_BodyState>`\ ) |const| :ref:`🔗<class_PhysicsServer2D_method_body_get_state>`
|
||
|
||
Возвращает значение заданного состояния тела.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_PhysicsServer2D_method_body_is_omitting_force_integration:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`bool<class_bool>` **body_is_omitting_force_integration**\ (\ body\: :ref:`RID<class_RID>`\ ) |const| :ref:`🔗<class_PhysicsServer2D_method_body_is_omitting_force_integration>`
|
||
|
||
Возвращает ``true``, если тело пропускает стандартную интеграцию силы. См. :ref:`body_set_omit_force_integration()<class_PhysicsServer2D_method_body_set_omit_force_integration>`.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_PhysicsServer2D_method_body_remove_collision_exception:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **body_remove_collision_exception**\ (\ body\: :ref:`RID<class_RID>`, excepted_body\: :ref:`RID<class_RID>`\ ) :ref:`🔗<class_PhysicsServer2D_method_body_remove_collision_exception>`
|
||
|
||
Удаляет ``exceptioned_body`` из списка исключений столкновений тела, так что столкновения с ним больше не игнорируются.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_PhysicsServer2D_method_body_remove_shape:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **body_remove_shape**\ (\ body\: :ref:`RID<class_RID>`, shape_idx\: :ref:`int<class_int>`\ ) :ref:`🔗<class_PhysicsServer2D_method_body_remove_shape>`
|
||
|
||
Удаляет фигуру с указанным индексом из массива фигур тела. Сама фигура не удаляется, поэтому ее можно использовать в другом месте или добавить обратно позже. В результате этой операции у фигур тела, которые имели индексы выше ``shape_idx``, индекс будет уменьшен на единицу.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_PhysicsServer2D_method_body_reset_mass_properties:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **body_reset_mass_properties**\ (\ body\: :ref:`RID<class_RID>`\ ) :ref:`🔗<class_PhysicsServer2D_method_body_reset_mass_properties>`
|
||
|
||
Восстанавливает инерцию и центр масс тела по умолчанию на основе его форм. Это отменяет любые пользовательские значения, ранее заданные с помощью :ref:`body_set_param()<class_PhysicsServer2D_method_body_set_param>`.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_PhysicsServer2D_method_body_set_axis_velocity:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **body_set_axis_velocity**\ (\ body\: :ref:`RID<class_RID>`, axis_velocity\: :ref:`Vector2<class_Vector2>`\ ) :ref:`🔗<class_PhysicsServer2D_method_body_set_axis_velocity>`
|
||
|
||
Изменяет линейную скорость тела таким образом, что ее проекция на ось ``axis_velocity.normalized()`` равна в точности ``axis_velocity.length()``. Это полезно для прыжкового поведения.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_PhysicsServer2D_method_body_set_collision_layer:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **body_set_collision_layer**\ (\ body\: :ref:`RID<class_RID>`, layer\: :ref:`int<class_int>`\ ) :ref:`🔗<class_PhysicsServer2D_method_body_set_collision_layer>`
|
||
|
||
Устанавливает физический слой или слои, к которым принадлежит тело, с помощью битовой маски.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_PhysicsServer2D_method_body_set_collision_mask:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **body_set_collision_mask**\ (\ body\: :ref:`RID<class_RID>`, mask\: :ref:`int<class_int>`\ ) :ref:`🔗<class_PhysicsServer2D_method_body_set_collision_mask>`
|
||
|
||
Устанавливает физический слой или слои, с которыми может сталкиваться тело, с помощью битовой маски.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_PhysicsServer2D_method_body_set_collision_priority:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **body_set_collision_priority**\ (\ body\: :ref:`RID<class_RID>`, priority\: :ref:`float<class_float>`\ ) :ref:`🔗<class_PhysicsServer2D_method_body_set_collision_priority>`
|
||
|
||
Устанавливает приоритет столкновения тела. Используется в фазе депенетирования :ref:`body_test_motion()<class_PhysicsServer2D_method_body_test_motion>`. Чем выше приоритет, тем ниже будет проникновение в тело.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_PhysicsServer2D_method_body_set_constant_force:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **body_set_constant_force**\ (\ body\: :ref:`RID<class_RID>`, force\: :ref:`Vector2<class_Vector2>`\ ) :ref:`🔗<class_PhysicsServer2D_method_body_set_constant_force>`
|
||
|
||
Устанавливает общую постоянную позиционную силу тела, применяемую во время каждого обновления физики.
|
||
|
||
См. :ref:`body_add_constant_force()<class_PhysicsServer2D_method_body_add_constant_force>` и :ref:`body_add_constant_central_force()<class_PhysicsServer2D_method_body_add_constant_central_force>`.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_PhysicsServer2D_method_body_set_constant_torque:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **body_set_constant_torque**\ (\ body\: :ref:`RID<class_RID>`, torque\: :ref:`float<class_float>`\ ) :ref:`🔗<class_PhysicsServer2D_method_body_set_constant_torque>`
|
||
|
||
Устанавливает общую постоянную вращательную силу тела, применяемую во время каждого обновления физики.
|
||
|
||
См. :ref:`body_add_constant_torque()<class_PhysicsServer2D_method_body_add_constant_torque>`.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_PhysicsServer2D_method_body_set_continuous_collision_detection_mode:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **body_set_continuous_collision_detection_mode**\ (\ body\: :ref:`RID<class_RID>`, mode\: :ref:`CCDMode<enum_PhysicsServer2D_CCDMode>`\ ) :ref:`🔗<class_PhysicsServer2D_method_body_set_continuous_collision_detection_mode>`
|
||
|
||
Устанавливает режим непрерывного обнаружения столкновений.
|
||
|
||
Непрерывное обнаружение столкновений пытается предсказать, где движущееся тело столкнется между обновлениями физики, вместо того, чтобы перемещать его и корректировать его движение в случае столкновения.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_PhysicsServer2D_method_body_set_force_integration_callback:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **body_set_force_integration_callback**\ (\ body\: :ref:`RID<class_RID>`, callable\: :ref:`Callable<class_Callable>`, userdata\: :ref:`Variant<class_Variant>` = null\ ) :ref:`🔗<class_PhysicsServer2D_method_body_set_force_integration_callback>`
|
||
|
||
Устанавливает функцию обратного вызова интегрирования силы тела на ``callable``. Используйте пустой :ref:`Callable<class_Callable>` (``Callable()``), чтобы очистить пользовательский обратный вызов.
|
||
|
||
Функция ``callable`` будет вызываться каждый физический тик перед стандартным интегрированием силы (см. :ref:`body_set_omit_force_integration()<class_PhysicsServer2D_method_body_set_omit_force_integration>`). Ее можно использовать, например, для обновления линейной и угловой скорости тела на основе контакта с другими телами.
|
||
|
||
Если ``userdata`` не является ``null``, функция ``callable`` должна принимать следующие два параметра:
|
||
|
||
1. ``state``: :ref:`PhysicsDirectBodyState2D<class_PhysicsDirectBodyState2D>`, используемый для получения и изменения состояния тела,
|
||
|
||
2. ``userdata``: :ref:`Variant<class_Variant>`; ее значением будет ``userdata``, переданный в этот метод.
|
||
|
||
Если ``userdata`` равен ``null``, то ``callable`` должен принимать только параметр ``state``.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_PhysicsServer2D_method_body_set_max_contacts_reported:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **body_set_max_contacts_reported**\ (\ body\: :ref:`RID<class_RID>`, amount\: :ref:`int<class_int>`\ ) :ref:`🔗<class_PhysicsServer2D_method_body_set_max_contacts_reported>`
|
||
|
||
Устанавливает максимальное количество контактов, о которых может сообщить тело. Если ``amount`` больше нуля, то тело будет отслеживать не более этого количества контактов с другими телами.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_PhysicsServer2D_method_body_set_mode:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **body_set_mode**\ (\ body\: :ref:`RID<class_RID>`, mode\: :ref:`BodyMode<enum_PhysicsServer2D_BodyMode>`\ ) :ref:`🔗<class_PhysicsServer2D_method_body_set_mode>`
|
||
|
||
Устанавливает режим тела.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_PhysicsServer2D_method_body_set_omit_force_integration:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **body_set_omit_force_integration**\ (\ body\: :ref:`RID<class_RID>`, enable\: :ref:`bool<class_bool>`\ ) :ref:`🔗<class_PhysicsServer2D_method_body_set_omit_force_integration>`
|
||
|
||
Устанавливает, будет ли тело пропускать стандартную интеграцию силы. Если ``enable`` равно ``true``, тело не будет автоматически использовать приложенные силы, крутящие моменты и демпфирование для обновления линейной и угловой скорости тела. В этом случае :ref:`body_set_force_integration_callback()<class_PhysicsServer2D_method_body_set_force_integration_callback>` можно использовать для ручного обновления линейной и угловой скорости.
|
||
|
||
Этот метод вызывается, когда задано свойство :ref:`RigidBody2D.custom_integrator<class_RigidBody2D_property_custom_integrator>`.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_PhysicsServer2D_method_body_set_param:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **body_set_param**\ (\ body\: :ref:`RID<class_RID>`, param\: :ref:`BodyParameter<enum_PhysicsServer2D_BodyParameter>`, value\: :ref:`Variant<class_Variant>`\ ) :ref:`🔗<class_PhysicsServer2D_method_body_set_param>`
|
||
|
||
Устанавливает значение указанного параметра тела.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_PhysicsServer2D_method_body_set_shape:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **body_set_shape**\ (\ body\: :ref:`RID<class_RID>`, shape_idx\: :ref:`int<class_int>`, shape\: :ref:`RID<class_RID>`\ ) :ref:`🔗<class_PhysicsServer2D_method_body_set_shape>`
|
||
|
||
Заменяет форму тела по указанному индексу на другую форму, не влияя на свойства ``transform``, ``disabled`` и одностороннего столкновения по тому же индексу.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_PhysicsServer2D_method_body_set_shape_as_one_way_collision:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **body_set_shape_as_one_way_collision**\ (\ body\: :ref:`RID<class_RID>`, shape_idx\: :ref:`int<class_int>`, enable\: :ref:`bool<class_bool>`, margin\: :ref:`float<class_float>`\ ) :ref:`🔗<class_PhysicsServer2D_method_body_set_shape_as_one_way_collision>`
|
||
|
||
Устанавливает свойства одностороннего столкновения формы тела с заданным индексом. Если ``enable`` равен ``true``, направление одностороннего столкновения, заданное локальной восходящей осью формы ``body_get_shape_transform(body, shape_idx).y``, будет использоваться для игнорирования столкновений с формой в противоположном направлении и для обеспечения того, чтобы депенетрация кинематических тел происходила в этом направлении.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_PhysicsServer2D_method_body_set_shape_disabled:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **body_set_shape_disabled**\ (\ body\: :ref:`RID<class_RID>`, shape_idx\: :ref:`int<class_int>`, disabled\: :ref:`bool<class_bool>`\ ) :ref:`🔗<class_PhysicsServer2D_method_body_set_shape_disabled>`
|
||
|
||
Устанавливает отключенное свойство формы тела с заданным индексом. Если ``disabled`` равен ``true``, то форма будет игнорироваться при всех обнаружениях столкновений.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_PhysicsServer2D_method_body_set_shape_transform:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **body_set_shape_transform**\ (\ body\: :ref:`RID<class_RID>`, shape_idx\: :ref:`int<class_int>`, transform\: :ref:`Transform2D<class_Transform2D>`\ ) :ref:`🔗<class_PhysicsServer2D_method_body_set_shape_transform>`
|
||
|
||
Задает локальную матрицу преобразования формы тела с заданным индексом.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_PhysicsServer2D_method_body_set_space:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **body_set_space**\ (\ body\: :ref:`RID<class_RID>`, space\: :ref:`RID<class_RID>`\ ) :ref:`🔗<class_PhysicsServer2D_method_body_set_space>`
|
||
|
||
Добавляет тело в заданное пространство после удаления тела из ранее назначенного пространства (если оно есть). Если режим тела установлен на :ref:`BODY_MODE_RIGID<class_PhysicsServer2D_constant_BODY_MODE_RIGID>`, то добавление тела в пространство будет иметь следующие дополнительные эффекты:
|
||
|
||
- Если параметр :ref:`BODY_PARAM_CENTER_OF_MASS<class_PhysicsServer2D_constant_BODY_PARAM_CENTER_OF_MASS>` никогда не был задан явно, то значение этого параметра будет пересчитано на основе форм тела.
|
||
|
||
- Если параметр :ref:`BODY_PARAM_INERTIA<class_PhysicsServer2D_constant_BODY_PARAM_INERTIA>` установлен на значение ``<= 0.0``, то значение этого параметра будет пересчитано на основе форм тела, массы и центра масс.
|
||
|
||
\ **Примечание:** Чтобы удалить тело из пространства, не добавляя его обратно в другое место, используйте ``PhysicsServer2D.body_set_space(body, RID())``.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_PhysicsServer2D_method_body_set_state:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **body_set_state**\ (\ body\: :ref:`RID<class_RID>`, state\: :ref:`BodyState<enum_PhysicsServer2D_BodyState>`, value\: :ref:`Variant<class_Variant>`\ ) :ref:`🔗<class_PhysicsServer2D_method_body_set_state>`
|
||
|
||
Устанавливает значение состояния тела.
|
||
|
||
\ **Примечание:** Изменение состояния не вступает в силу немедленно. Состояние изменится в следующем физическом кадре.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_PhysicsServer2D_method_body_set_state_sync_callback:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **body_set_state_sync_callback**\ (\ body\: :ref:`RID<class_RID>`, callable\: :ref:`Callable<class_Callable>`\ ) :ref:`🔗<class_PhysicsServer2D_method_body_set_state_sync_callback>`
|
||
|
||
Устанавливает функцию обратного вызова синхронизации состояния тела на ``callable``. Используйте пустой :ref:`Callable<class_Callable>` (``Callable()``), чтобы очистить обратный вызов.
|
||
|
||
Функция ``callable`` будет вызываться каждый физический кадр, предполагая, что тело было активно во время предыдущего физического тика, и может использоваться для получения последнего состояния с физического сервера.
|
||
|
||
Функция ``callable`` должна принимать следующие параметры:
|
||
|
||
1. ``state``: :ref:`PhysicsDirectBodyState2D<class_PhysicsDirectBodyState2D>`, используемый для получения состояния тела.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_PhysicsServer2D_method_body_test_motion:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`bool<class_bool>` **body_test_motion**\ (\ body\: :ref:`RID<class_RID>`, parameters\: :ref:`PhysicsTestMotionParameters2D<class_PhysicsTestMotionParameters2D>`, result\: :ref:`PhysicsTestMotionResult2D<class_PhysicsTestMotionResult2D>` = null\ ) :ref:`🔗<class_PhysicsServer2D_method_body_test_motion>`
|
||
|
||
Возвращает ``true``, если столкновение возникнет в результате перемещения тела по вектору движения из заданной точки в пространстве. См. :ref:`PhysicsTestMotionParameters2D<class_PhysicsTestMotionParameters2D>` для доступных параметров движения. При желании можно передать объект :ref:`PhysicsTestMotionResult2D<class_PhysicsTestMotionResult2D>`, который будет использоваться для хранения информации о полученном столкновении.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_PhysicsServer2D_method_capsule_shape_create:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`RID<class_RID>` **capsule_shape_create**\ (\ ) :ref:`🔗<class_PhysicsServer2D_method_capsule_shape_create>`
|
||
|
||
Создает форму капсулы 2D на физическом сервере и возвращает :ref:`RID<class_RID>`, который ее идентифицирует. Используйте :ref:`shape_set_data()<class_PhysicsServer2D_method_shape_set_data>`, чтобы задать высоту и радиус капсулы.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_PhysicsServer2D_method_circle_shape_create:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`RID<class_RID>` **circle_shape_create**\ (\ ) :ref:`🔗<class_PhysicsServer2D_method_circle_shape_create>`
|
||
|
||
Создает 2D-круг на физическом сервере и возвращает :ref:`RID<class_RID>`, который его идентифицирует. Используйте :ref:`shape_set_data()<class_PhysicsServer2D_method_shape_set_data>`, чтобы задать радиус круга.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_PhysicsServer2D_method_concave_polygon_shape_create:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`RID<class_RID>` **concave_polygon_shape_create**\ (\ ) :ref:`🔗<class_PhysicsServer2D_method_concave_polygon_shape_create>`
|
||
|
||
Создает 2D вогнутую многоугольную форму на физическом сервере и возвращает :ref:`RID<class_RID>`, который ее идентифицирует. Используйте :ref:`shape_set_data()<class_PhysicsServer2D_method_shape_set_data>`, чтобы задать сегменты вогнутого многоугольника.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_PhysicsServer2D_method_convex_polygon_shape_create:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`RID<class_RID>` **convex_polygon_shape_create**\ (\ ) :ref:`🔗<class_PhysicsServer2D_method_convex_polygon_shape_create>`
|
||
|
||
Создает 2D выпуклую многоугольную форму на физическом сервере и возвращает :ref:`RID<class_RID>`, который ее идентифицирует. Используйте :ref:`shape_set_data()<class_PhysicsServer2D_method_shape_set_data>` для установки точек выпуклого многоугольника.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_PhysicsServer2D_method_damped_spring_joint_get_param:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`float<class_float>` **damped_spring_joint_get_param**\ (\ joint\: :ref:`RID<class_RID>`, param\: :ref:`DampedSpringParam<enum_PhysicsServer2D_DampedSpringParam>`\ ) |const| :ref:`🔗<class_PhysicsServer2D_method_damped_spring_joint_get_param>`
|
||
|
||
Возвращает значение заданного параметра демпфированного пружинного соединения (spring joint).
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_PhysicsServer2D_method_damped_spring_joint_set_param:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **damped_spring_joint_set_param**\ (\ joint\: :ref:`RID<class_RID>`, param\: :ref:`DampedSpringParam<enum_PhysicsServer2D_DampedSpringParam>`, value\: :ref:`float<class_float>`\ ) :ref:`🔗<class_PhysicsServer2D_method_damped_spring_joint_set_param>`
|
||
|
||
Устанавливает значение заданного параметра демпфированного пружинного соединения (spring joint).
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_PhysicsServer2D_method_free_rid:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **free_rid**\ (\ rid\: :ref:`RID<class_RID>`\ ) :ref:`🔗<class_PhysicsServer2D_method_free_rid>`
|
||
|
||
Уничтожает любой из объектов, созданных PhysicsServer2D. Если переданный :ref:`RID<class_RID>` не является одним из объектов, которые могут быть созданы PhysicsServer2D, на консоль будет выведена ошибка.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_PhysicsServer2D_method_get_process_info:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`int<class_int>` **get_process_info**\ (\ process_info\: :ref:`ProcessInfo<enum_PhysicsServer2D_ProcessInfo>`\ ) :ref:`🔗<class_PhysicsServer2D_method_get_process_info>`
|
||
|
||
Возвращает значение состояния физического движка, заданное ``process_info``.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_PhysicsServer2D_method_joint_clear:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **joint_clear**\ (\ joint\: :ref:`RID<class_RID>`\ ) :ref:`🔗<class_PhysicsServer2D_method_joint_clear>`
|
||
|
||
Уничтожает соединение с указанным :ref:`RID<class_RID>`, создает новое неинициализированное соединение и заставляет :ref:`RID<class_RID>` ссылаться на это новое соединение.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_PhysicsServer2D_method_joint_create:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`RID<class_RID>` **joint_create**\ (\ ) :ref:`🔗<class_PhysicsServer2D_method_joint_create>`
|
||
|
||
Создает 2D-соединение на физическом сервере и возвращает :ref:`RID<class_RID>`, который его идентифицирует. Чтобы задать тип соединения, используйте :ref:`joint_make_damped_spring()<class_PhysicsServer2D_method_joint_make_damped_spring>`, :ref:`joint_make_groove()<class_PhysicsServer2D_method_joint_make_groove>` или :ref:`joint_make_pin()<class_PhysicsServer2D_method_joint_make_pin>`. Используйте :ref:`joint_set_param()<class_PhysicsServer2D_method_joint_set_param>` для задания общих параметров соединения.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_PhysicsServer2D_method_joint_disable_collisions_between_bodies:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **joint_disable_collisions_between_bodies**\ (\ joint\: :ref:`RID<class_RID>`, disable\: :ref:`bool<class_bool>`\ ) :ref:`🔗<class_PhysicsServer2D_method_joint_disable_collisions_between_bodies>`
|
||
|
||
Устанавливает, будут ли тела, прикрепленные к :ref:`Joint2D<class_Joint2D>`, сталкиваться друг с другом.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_PhysicsServer2D_method_joint_get_param:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`float<class_float>` **joint_get_param**\ (\ joint\: :ref:`RID<class_RID>`, param\: :ref:`JointParam<enum_PhysicsServer2D_JointParam>`\ ) |const| :ref:`🔗<class_PhysicsServer2D_method_joint_get_param>`
|
||
|
||
Возвращает значение указанного параметра соединения.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_PhysicsServer2D_method_joint_get_type:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`JointType<enum_PhysicsServer2D_JointType>` **joint_get_type**\ (\ joint\: :ref:`RID<class_RID>`\ ) |const| :ref:`🔗<class_PhysicsServer2D_method_joint_get_type>`
|
||
|
||
Возвращает тип соединения.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_PhysicsServer2D_method_joint_is_disabled_collisions_between_bodies:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`bool<class_bool>` **joint_is_disabled_collisions_between_bodies**\ (\ joint\: :ref:`RID<class_RID>`\ ) |const| :ref:`🔗<class_PhysicsServer2D_method_joint_is_disabled_collisions_between_bodies>`
|
||
|
||
Возвращает, будут ли тела, прикрепленные к :ref:`Joint2D<class_Joint2D>`, сталкиваться друг с другом.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_PhysicsServer2D_method_joint_make_damped_spring:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **joint_make_damped_spring**\ (\ joint\: :ref:`RID<class_RID>`, anchor_a\: :ref:`Vector2<class_Vector2>`, anchor_b\: :ref:`Vector2<class_Vector2>`, body_a\: :ref:`RID<class_RID>`, body_b\: :ref:`RID<class_RID>` = RID()\ ) :ref:`🔗<class_PhysicsServer2D_method_joint_make_damped_spring>`
|
||
|
||
Делает сочленение демпфированным пружинным сочленением, прикрепленным в точке ``anchor_a`` (заданной в глобальных координатах) на теле ``body_a`` и в точке ``anchor_b`` (заданной в глобальных координатах) на теле ``body_b``. Чтобы задать параметры, специфичные для демпфированной пружины, см. :ref:`damped_spring_joint_set_param()<class_PhysicsServer2D_method_damped_spring_joint_set_param>`.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_PhysicsServer2D_method_joint_make_groove:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **joint_make_groove**\ (\ joint\: :ref:`RID<class_RID>`, groove1_a\: :ref:`Vector2<class_Vector2>`, groove2_a\: :ref:`Vector2<class_Vector2>`, anchor_b\: :ref:`Vector2<class_Vector2>`, body_a\: :ref:`RID<class_RID>` = RID(), body_b\: :ref:`RID<class_RID>` = RID()\ ) :ref:`🔗<class_PhysicsServer2D_method_joint_make_groove>`
|
||
|
||
Делает соединение пазовым.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_PhysicsServer2D_method_joint_make_pin:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **joint_make_pin**\ (\ joint\: :ref:`RID<class_RID>`, anchor\: :ref:`Vector2<class_Vector2>`, body_a\: :ref:`RID<class_RID>`, body_b\: :ref:`RID<class_RID>` = RID()\ ) :ref:`🔗<class_PhysicsServer2D_method_joint_make_pin>`
|
||
|
||
Делает сочленение штифтовым. Если ``body_b`` — пустой :ref:`RID<class_RID>`, то ``body_a`` прикрепляется к точке ``anchor`` (заданной в глобальных координатах); в противном случае ``body_a`` прикрепляется к ``body_b`` в точке ``anchor`` (заданной в глобальных координатах). Чтобы задать параметры, специфичные для штифтового сочленения, см. :ref:`pin_joint_set_param()<class_PhysicsServer2D_method_pin_joint_set_param>`.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_PhysicsServer2D_method_joint_set_param:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **joint_set_param**\ (\ joint\: :ref:`RID<class_RID>`, param\: :ref:`JointParam<enum_PhysicsServer2D_JointParam>`, value\: :ref:`float<class_float>`\ ) :ref:`🔗<class_PhysicsServer2D_method_joint_set_param>`
|
||
|
||
Устанавливает значение указанного параметра соединения.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_PhysicsServer2D_method_pin_joint_get_flag:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`bool<class_bool>` **pin_joint_get_flag**\ (\ joint\: :ref:`RID<class_RID>`, flag\: :ref:`PinJointFlag<enum_PhysicsServer2D_PinJointFlag>`\ ) |const| :ref:`🔗<class_PhysicsServer2D_method_pin_joint_get_flag>`
|
||
|
||
Получает флаг штифтового соединения (pin joint).
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_PhysicsServer2D_method_pin_joint_get_param:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`float<class_float>` **pin_joint_get_param**\ (\ joint\: :ref:`RID<class_RID>`, param\: :ref:`PinJointParam<enum_PhysicsServer2D_PinJointParam>`\ ) |const| :ref:`🔗<class_PhysicsServer2D_method_pin_joint_get_param>`
|
||
|
||
Возвращает значение параметра штифтового соединения (pin joint).
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_PhysicsServer2D_method_pin_joint_set_flag:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **pin_joint_set_flag**\ (\ joint\: :ref:`RID<class_RID>`, flag\: :ref:`PinJointFlag<enum_PhysicsServer2D_PinJointFlag>`, enabled\: :ref:`bool<class_bool>`\ ) :ref:`🔗<class_PhysicsServer2D_method_pin_joint_set_flag>`
|
||
|
||
Устанавливает флаг штифтового соединения (pin joint).
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_PhysicsServer2D_method_pin_joint_set_param:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **pin_joint_set_param**\ (\ joint\: :ref:`RID<class_RID>`, param\: :ref:`PinJointParam<enum_PhysicsServer2D_PinJointParam>`, value\: :ref:`float<class_float>`\ ) :ref:`🔗<class_PhysicsServer2D_method_pin_joint_set_param>`
|
||
|
||
Устанавливает параметр штифтового соединения.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_PhysicsServer2D_method_rectangle_shape_create:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`RID<class_RID>` **rectangle_shape_create**\ (\ ) :ref:`🔗<class_PhysicsServer2D_method_rectangle_shape_create>`
|
||
|
||
Создает 2D-прямоугольную форму на физическом сервере и возвращает :ref:`RID<class_RID>`, который ее идентифицирует. Используйте :ref:`shape_set_data()<class_PhysicsServer2D_method_shape_set_data>`, чтобы задать половинные размеры прямоугольника.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_PhysicsServer2D_method_segment_shape_create:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`RID<class_RID>` **segment_shape_create**\ (\ ) :ref:`🔗<class_PhysicsServer2D_method_segment_shape_create>`
|
||
|
||
Создает форму 2D-сегмента на физическом сервере и возвращает :ref:`RID<class_RID>`, который его идентифицирует. Используйте :ref:`shape_set_data()<class_PhysicsServer2D_method_shape_set_data>`, чтобы задать начальную и конечную точки сегмента.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_PhysicsServer2D_method_separation_ray_shape_create:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`RID<class_RID>` **separation_ray_shape_create**\ (\ ) :ref:`🔗<class_PhysicsServer2D_method_separation_ray_shape_create>`
|
||
|
||
Создает форму луча разделения 2D на физическом сервере и возвращает :ref:`RID<class_RID>`, который ее идентифицирует. Используйте :ref:`shape_set_data()<class_PhysicsServer2D_method_shape_set_data>`, чтобы задать свойства формы ``length`` и ``slide_on_slope``.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_PhysicsServer2D_method_set_active:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **set_active**\ (\ active\: :ref:`bool<class_bool>`\ ) :ref:`🔗<class_PhysicsServer2D_method_set_active>`
|
||
|
||
Активирует или деактивирует сервер 2D-физики. Если ``active`` равен ``false``, то сервер физики не будет ничего делать на своем шаге физики.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_PhysicsServer2D_method_shape_get_data:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`Variant<class_Variant>` **shape_get_data**\ (\ shape\: :ref:`RID<class_RID>`\ ) |const| :ref:`🔗<class_PhysicsServer2D_method_shape_get_data>`
|
||
|
||
Возвращает данные формы, которые определяют конфигурацию формы, например, полупространства прямоугольника или сегменты вогнутой формы. См. :ref:`shape_set_data()<class_PhysicsServer2D_method_shape_set_data>` для точного формата этих данных в каждом случае.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_PhysicsServer2D_method_shape_get_type:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`ShapeType<enum_PhysicsServer2D_ShapeType>` **shape_get_type**\ (\ shape\: :ref:`RID<class_RID>`\ ) |const| :ref:`🔗<class_PhysicsServer2D_method_shape_get_type>`
|
||
|
||
Возвращает тип фигуры.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_PhysicsServer2D_method_shape_set_data:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **shape_set_data**\ (\ shape\: :ref:`RID<class_RID>`, data\: :ref:`Variant<class_Variant>`\ ) :ref:`🔗<class_PhysicsServer2D_method_shape_set_data>`
|
||
|
||
Устанавливает данные формы, которые определяют конфигурацию формы. ``data``, которые необходимо передать, зависят от типа формы (см. :ref:`shape_get_type()<class_PhysicsServer2D_method_shape_get_type>`):
|
||
|
||
- :ref:`SHAPE_WORLD_BOUNDARY<class_PhysicsServer2D_constant_SHAPE_WORLD_BOUNDARY>`: массив длины два, содержащий направление :ref:`Vector2<class_Vector2>` ``normal`` и расстояние :ref:`float<class_float>` ``d``,
|
||
|
||
- :ref:`SHAPE_SEPARATION_RAY<class_PhysicsServer2D_constant_SHAPE_SEPARATION_RAY>`: словарь, содержащий ключ ``length`` со значением :ref:`float<class_float>` и ключ ``slide_on_slope`` со значением :ref:`bool<class_bool>`,
|
||
|
||
- :ref:`SHAPE_SEGMENT<class_PhysicsServer2D_constant_SHAPE_SEGMENT>`: :ref:`Rect2<class_Rect2>` ``rect``, содержащий первую точку сегмента в ``rect.position`` и вторую точку сегмента в ``rect.size``,
|
||
|
||
- :ref:`SHAPE_CIRCLE<class_PhysicsServer2D_constant_SHAPE_CIRCLE>`: :ref:`float<class_float>` ``radius``,
|
||
|
||
- :ref:`SHAPE_RECTANGLE<class_PhysicsServer2D_constant_SHAPE_RECTANGLE>`: :ref:`Vector2<class_Vector2>` ``half_extents``,
|
||
|
||
- :ref:`SHAPE_CAPSULE<class_PhysicsServer2D_constant_SHAPE_CAPSULE>`: массив длиной два (или :ref:`Vector2<class_Vector2>`), содержащий :ref:`float<class_float>` ``height (высоту)`` и :ref:`float<class_float>` ``radius (радиус)``,
|
||
|
||
- :ref:`SHAPE_CONVEX_POLYGON<class_PhysicsServer2D_constant_SHAPE_CONVEX_POLYGON>`: либо :ref:`PackedVector2Array<class_PackedVector2Array>` точек, определяющих выпуклый многоугольник в порядке против часовой стрелки (внешняя нормаль по часовой стрелке каждого сегмента, образованного последовательными точками, вычисляется внутренне), либо :ref:`PackedFloat32Array<class_PackedFloat32Array>` длины, кратной четырем, так что каждый кортеж из 4 :ref:`float<class_float>` содержит координаты точки, за которыми следуют координаты вектора внешней нормали по часовой стрелке к сегменту между текущей точкой и следующей точкой,
|
||
|
||
- :ref:`SHAPE_CONCAVE_POLYGON<class_PhysicsServer2D_constant_SHAPE_CONCAVE_POLYGON>`: :ref:`PackedVector2Array<class_PackedVector2Array>` длины, делящейся на два (каждая пара точек образует один сегмент).
|
||
|
||
\ **Предупреждение:** В случае :ref:`SHAPE_CONVEX_POLYGON<class_PhysicsServer2D_constant_SHAPE_CONVEX_POLYGON>` этот метод не проверяет, действительно ли предоставленные точки образуют выпуклый многоугольник (в отличие от свойства :ref:`CollisionPolygon2D.polygon<class_CollisionPolygon2D_property_polygon>`).
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_PhysicsServer2D_method_space_create:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`RID<class_RID>` **space_create**\ (\ ) :ref:`🔗<class_PhysicsServer2D_method_space_create>`
|
||
|
||
Создает 2D-пространство на физическом сервере и возвращает :ref:`RID<class_RID>`, который его идентифицирует. Пространство содержит тела и области и управляет пошаговым выполнением физической симуляции объектов в нем.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_PhysicsServer2D_method_space_get_direct_state:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`PhysicsDirectSpaceState2D<class_PhysicsDirectSpaceState2D>` **space_get_direct_state**\ (\ space\: :ref:`RID<class_RID>`\ ) :ref:`🔗<class_PhysicsServer2D_method_space_get_direct_state>`
|
||
|
||
Возвращает состояние пространства, :ref:`PhysicsDirectSpaceState2D<class_PhysicsDirectSpaceState2D>`. Этот объект может использоваться для запросов на столкновение/пересечение.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_PhysicsServer2D_method_space_get_param:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`float<class_float>` **space_get_param**\ (\ space\: :ref:`RID<class_RID>`, param\: :ref:`SpaceParameter<enum_PhysicsServer2D_SpaceParameter>`\ ) |const| :ref:`🔗<class_PhysicsServer2D_method_space_get_param>`
|
||
|
||
Возвращает значение указанного параметра пространства.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_PhysicsServer2D_method_space_is_active:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`bool<class_bool>` **space_is_active**\ (\ space\: :ref:`RID<class_RID>`\ ) |const| :ref:`🔗<class_PhysicsServer2D_method_space_is_active>`
|
||
|
||
Возвращает ``true``, если пространство активно.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_PhysicsServer2D_method_space_set_active:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **space_set_active**\ (\ space\: :ref:`RID<class_RID>`, active\: :ref:`bool<class_bool>`\ ) :ref:`🔗<class_PhysicsServer2D_method_space_set_active>`
|
||
|
||
Активирует или деактивирует пространство. Если ``active`` равен ``false``, то физический сервер не будет ничего делать с этим пространством на своем физическом шаге.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_PhysicsServer2D_method_space_set_param:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **space_set_param**\ (\ space\: :ref:`RID<class_RID>`, param\: :ref:`SpaceParameter<enum_PhysicsServer2D_SpaceParameter>`, value\: :ref:`float<class_float>`\ ) :ref:`🔗<class_PhysicsServer2D_method_space_set_param>`
|
||
|
||
Устанавливает значение указанного параметра пространства.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_PhysicsServer2D_method_world_boundary_shape_create:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`RID<class_RID>` **world_boundary_shape_create**\ (\ ) :ref:`🔗<class_PhysicsServer2D_method_world_boundary_shape_create>`
|
||
|
||
Создает форму границы 2D-мира на физическом сервере и возвращает :ref:`RID<class_RID>`, который ее идентифицирует. Используйте :ref:`shape_set_data()<class_PhysicsServer2D_method_shape_set_data>`, чтобы задать нормальное направление формы и свойства расстояния.
|
||
|
||
.. |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 (Нет возвращаемого значения.)`
|