ConvexPolygonShape2D

Hereda: Shape2D < Resource < RefCounted < Object

Una forma de polígono convexo 2D utilizada para colisiones físicas.

Descripción

Una forma de polígono convexo 2D, destinada a ser utilizada en física. Se utiliza internamente en CollisionPolygon2D cuando está en modo CollisionPolygon2D.BUILD_SOLIDS.

ConvexPolygonShape2D es sólido, lo que significa que detecta colisiones de objetos que están completamente dentro de él, a diferencia de ConcavePolygonShape2D que es hueco. Esto lo hace más adecuado tanto para la detección como para la física.

Descomposición convexa: Un polígono cóncavo puede dividirse en varios polígonos convexos. Esto permite que los cuerpos físicos dinámicos tengan colisiones cóncavas complejas (a un costo de rendimiento) y se puede lograr utilizando varios nodos ConvexPolygonShape2D o utilizando el nodo CollisionPolygon2D en modo CollisionPolygon2D.BUILD_SOLIDS. Para generar un polígono de colisión a partir de un sprite, selecciona el nodo Sprite2D, ve al menú Sprite2D que aparece encima de la ventana gráfica y elige Crear nodo hermano Polygon2D.

Rendimiento: ConvexPolygonShape2D es más rápido para comprobar las colisiones en comparación con ConcavePolygonShape2D, pero es más lento que las formas de colisión primitivas como CircleShape2D y RectangleShape2D. Su uso generalmente debe limitarse a objetos de tamaño mediano que no pueden tener su colisión representada con precisión por formas primitivas.

Propiedades

PackedVector2Array

points

PackedVector2Array()

Métodos

void

set_point_cloud(point_cloud: PackedVector2Array)


Descripciones de Propiedades

PackedVector2Array points = PackedVector2Array() 🔗

La lista de vértices del polígono que forman una envolvente convexa. Puede estar en orden horario o antihorario.

Advertencia: Solo establece esta propiedad en una lista de puntos que realmente formen una envolvente convexa. Utiliza set_point_cloud() para generar la envolvente convexa de un conjunto arbitrario de puntos.

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


Descripciones de Métodos

void set_point_cloud(point_cloud: PackedVector2Array) 🔗

Basándose en el conjunto de puntos proporcionados, esto asigna la propiedad points utilizando el algoritmo de envolvente convexa, eliminando todos los puntos innecesarios. Véase Geometry2D.convex_hull() para obtener más detalles.