ConvexPolygonShape2D

Наследует: Shape2D < Resource < RefCounted < Object

Выпуклая двухмерная многоугольная форма, используемая для физического столкновения.

Описание

Форма 2D выпуклого многоугольника, предназначенная для использования в физике. Используется внутри в CollisionPolygon2D, когда он находится в режиме CollisionPolygon2D.BUILD_SOLIDS.

ConvexPolygonShape2D является твердым, что означает, что он обнаруживает столкновения от объектов, которые полностью находятся внутри него, в отличие от ConcavePolygonShape2D, который является полым. Это делает его более подходящим как для обнаружения, так и для физики.

Выпуклая декомпозиция: Вогнутый полигон может быть разделен на несколько выпуклых полигонов. Это позволяет динамическим физическим телам иметь сложные вогнутые столкновения (за счет производительности) и может быть достигнуто с помощью нескольких узлов ConvexPolygonShape2D или с помощью узла CollisionPolygon2D в режиме CollisionPolygon2D.BUILD_SOLIDS. Чтобы сгенерировать полигон столкновения из спрайта, выберите узел Sprite2D, перейдите в меню Sprite2D, которое появляется над областью просмотра, и выберите Создать Polygon2D Sibling.

Производительность: ConvexPolygonShape2D быстрее проверяет столкновения по сравнению с ConcavePolygonShape2D, но медленнее, чем примитивные формы столкновений, такие как CircleShape2D и RectangleShape2D. Его использование, как правило, должно быть ограничено объектами среднего размера, столкновения которых не могут быть точно представлены примитивными формами.

Свойства

PackedVector2Array

points

PackedVector2Array()

Методы

void

set_point_cloud(point_cloud: PackedVector2Array)


Описания свойств

PackedVector2Array points = PackedVector2Array() 🔗

Список вершин многоугольника, образующих выпуклую оболочку. Может быть в порядке по часовой стрелке или против часовой стрелки.

Предупреждение: Устанавливайте это свойство только для списка точек, которые фактически образуют выпуклую оболочку. Используйте set_point_cloud() для генерации выпуклой оболочки произвольного набора точек.

Note: The returned array is copied and any changes to it will not update the original property value. See PackedVector2Array for more details.


Описания метода

void set_point_cloud(point_cloud: PackedVector2Array) 🔗

На основе предоставленного набора точек это назначает свойство points с использованием алгоритма выпуклой оболочки, удаляя все ненужные точки. Подробности см. в Geometry2D.convex_hull().