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.

ConcavePolygonShape3D

Hereda: Shape3D < Resource < RefCounted < Object

Una forma de malla tridimensional utilizada para colisiones físicas.

Descripción

Una forma de malla triangular (trimesh) 3D, destinada a su uso en física. Normalmente se utiliza para proporcionar una forma a un CollisionShape3D.

Al ser simplemente una colección de triángulos interconectados, ConcavePolygonShape3D es la forma 3D individual más configurable. Puede utilizarse para formar poliedros de cualquier naturaleza, o incluso formas que no encierran un volumen. Sin embargo, ConcavePolygonShape3D es hueco incluso si los triángulos interconectados encierran un volumen, lo que a menudo lo hace inadecuado para la física o la detección.

Nota: Cuando se utiliza para colisiones, ConcavePolygonShape3D está diseñado para funcionar con nodos CollisionShape3D estáticos como StaticBody3D y es probable que no se comporte correctamente con CharacterBody3D o RigidBody3D en un modo que no sea estático.

Advertencia: Los cuerpos físicos que son pequeños tienen la posibilidad de atravesar (clip) esta forma cuando se mueven rápido. Esto sucede porque en un fotograma, el cuerpo físico puede estar en el "exterior" de la forma, y en el siguiente fotograma puede estar "dentro" de ella. Al ser ConcavePolygonShape3D hueco, no detectará la colisión.

Rendimiento: Debido a su complejidad, ConcavePolygonShape3D es la forma de colisión 3D más lenta para comprobar colisiones. Su uso debe limitarse generalmente a la geometría del nivel. Para geometría convexa, debe usarse ConvexPolygonShape3D. Para cuerpos físicos dinámicos que necesiten colisión cóncava, se pueden usar varios ConvexPolygonShape3D para representar su colisión mediante descomposición convexa; consulta la documentación de ConvexPolygonShape3D para obtener instrucciones.

Tutoriales

Propiedades

bool

backface_collision

false

Métodos

PackedVector3Array

get_faces() const

void

set_faces(faces: PackedVector3Array)


Descripciones de Propiedades

bool backface_collision = false 🔗

  • void set_backface_collision_enabled(value: bool)

  • bool is_backface_collision_enabled()

Si se establece en true, las colisiones ocurren en ambos lados de las caras de la forma cóncava. De lo contrario, ocurren solo a lo largo de las normales de las caras.


Descripciones de Métodos

PackedVector3Array get_faces() const 🔗

Returns the faces of the trimesh shape as an array of vertices. The array (of length divisible by three) is naturally divided into triples; each triple of vertices defines a triangle.


void set_faces(faces: PackedVector3Array) 🔗

Establece las caras de la forma trimesh a partir de un array de vértices. El array faces debe estar compuesto por triples de forma que cada triple de vértices defina un triángulo.