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
|
Métodos
void |
set_point_cloud(point_cloud: PackedVector2Array) |
Descripciones de Propiedades
PackedVector2Array points = PackedVector2Array() 🔗
void set_points(value: PackedVector2Array)
PackedVector2Array get_points()
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.