RigidBody2D в Godot
В Godot Engine RigidBody2D — это компонент, который представляет собой динамическое физическое тело для 2D-игр. Оно полностью подчиняется законам физики, таким как гравитация, трение, упругость и импульсы, что делает его идеальным для создания объектов, которые должны реалистично взаимодействовать с окружением (например, шары, ящики, враги или разрушаемые объекты).
Основные характеристики RigidBody2D:
-
Динамическая физика:
RigidBody2D
автоматически рассчитывает движение на основе физических сил (гравитация, толчки, столкновения и т.д.).- Оно может вращаться, двигаться и сталкиваться с другими физическими телами.
-
Коллизии:
- Для работы коллизий
RigidBody2D
требует дочерних узлов, таких какCollisionShape2D
илиCollisionPolygon2D
, которые определяют форму коллизии. - Эти формы используются для расчёта столкновений с другими объектами.
- Для работы коллизий
-
Режимы тела:
- Rigid: Полностью динамическое тело (по умолчанию).
- Static: Неподвижное тело (аналогично
StaticBody2D
). - Character: Тело, которое не вращается, но может двигаться (аналогично
CharacterBody2D
). - Kinematic: Тело, управляемое вручную (аналогично
KinematicBody2D
в Godot 3.x).
-
Силы и импульсы:
- Вы можете применять силы (
apply_force
) или импульсы (apply_impulse
) для управления движением тела. - Также можно задавать линейную и угловую скорость напрямую.
- Вы можете применять силы (
-
События коллизий:
RigidBody2D
предоставляет сигналы, такие какbody_entered
иbody_exited
, которые позволяют отслеживать столкновения с другими объектами.