Attention: Here be dragons
This is the latest
(unstable) version of this documentation, which may document features
not available in or compatible with released stable versions of Godot.
Checking the stable version of the documentation...
CollisionPolygon2D
Наследует: Node2D < CanvasItem < Node < Object
Узел, который придает многоугольную форму родительскому объекту CollisionObject2D.
Описание
Узел, который задает форму многоугольника для родительского объекта CollisionObject2D и позволяет его редактировать. Многоугольник может быть вогнутым или выпуклым. Это может придать форму обнаружения объекту Area2D, превратить объект PhysicsBody2D в твердый объект или придать объекту StaticBody2D форму полого объекта.
Предупреждение: Объект CollisionPolygon2D с неравномерным масштабированием, скорее всего, будет вести себя не так, как ожидается. Убедитесь, что его масштаб одинаков по всем осям, и вместо этого отрегулируйте его многоугольник.
Свойства
|
||
|
||
|
||
|
||
|
||
|
Перечисления
enum BuildMode: 🔗
BuildMode BUILD_SOLIDS = 0
Столкновения будут включать полигон и его содержащуюся область. В этом режиме узел имеет тот же эффект, что и несколько узлов ConvexPolygonShape2D, по одному для каждой выпуклой формы в выпуклом разложении полигона (но без накладных расходов нескольких узлов).
BuildMode BUILD_SEGMENTS = 1
Столкновения будут включать только края полигона. В этом режиме узел имеет тот же эффект, что и один ConcavePolygonShape2D, состоящий из сегментов, с ограничением, что каждый сегмент (после первого) начинается там, где заканчивается предыдущий, а последний заканчивается там, где начинается первый (образуя замкнутый, но полый полигон).
Описания свойств
Режим построения столкновений.
Если true, столкновения не будут обнаружены. Это свойство следует изменить с помощью Object.set_deferred().
bool one_way_collision = false 🔗
Если true, то с другими объектами будут сталкиваться только ребра, обращенные вверх относительно вращения CollisionPolygon2D.
Примечание: Это свойство не действует, если этот CollisionPolygon2D является дочерним узлом узла Area2D.
Примечание: Направление одностороннего столкновения можно настроить, установив one_way_collision_direction.
Vector2 one_way_collision_direction = Vector2(0, 1) 🔗
Направление, используемое при одностороннем столкновении.
float one_way_collision_margin = 1.0 🔗
Поле, используемое для одностороннего столкновения (в пикселях). Более высокие значения сделают форму толще и будут лучше работать для коллайдеров, которые входят в полигон на высокой скорости.
PackedVector2Array polygon = PackedVector2Array() 🔗
void set_polygon(value: PackedVector2Array)
PackedVector2Array get_polygon()
Список вершин полигона. Каждая точка будет соединена со следующей, а последняя точка будет соединена с первой.
Примечание: Возвращаемые вершины находятся в локальном координатном пространстве заданного CollisionPolygon2D.
Note: The returned array is copied and any changes to it will not update the original property value. See PackedVector2Array for more details.