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

Eredita: Shape3D < Resource < RefCounted < Object

Una forma trimesh 3D utilizzata per le collisioni fisiche.

Descrizione

Una forma trimesh 3D, progettata per l'uso in fisica. Solitamente usata per fornire una forma per un CollisionShape3D.

Essendo solo una serie di triangoli interconnessi, ConcavePolygonShape3D è la forma 3D singola più liberamente configurabile. Può essere usata per formare poliedri di qualsiasi natura, o anche forme che non racchiudono un volume. Tuttavia, ConcavePolygonShape3D è vuota anche se i triangoli interconnessi racchiudono un volume, il che spesso la rende poco adatta per la fisica o il rilevamento.

Nota: Quando usata per la collisione, ConcavePolygonShape3D è progettata per funzionare con nodi CollisionShape3D statici come StaticBody3D e probabilmente non si comporterà bene per CharacterBody3D o RigidBody3D in una modalità diversa da Static.

Attenzione: I corpi di fisica piccoli hanno la possibilità di passare attraverso questa forma quando si muovono velocemente. Ciò accade perché in un frame il corpo di fisica potrebbe trovarsi "all'esterno" della forma e nel frame successivo potrebbe trovarsi "all'interno". ConcavePolygonShape3D è cavo, quindi non rileverà una collisione.

Prestazioni: A causa della sua complessità, ConcavePolygonShape3D è la forma di collisione 3D più lenta per verificare le collisioni. Il suo utilizzo dovrebbe essere generalmente limitato alla geometria di livello. Per la geometria convessa, dovrebbe essere utilizzato ConvexPolygonShape3D. Per i corpi di fisica dinamici che necessitano di collisione concava, possono essere utilizzati diversi ConvexPolygonShape3D per rappresentare la sua collisione attraverso la decomposizione convessa; vedi la documentazione di ConvexPolygonShape3D per le istruzioni.

Tutorial

Proprietà

bool

backface_collision

false

Metodi

PackedVector3Array

get_faces() const

void

set_faces(faces: PackedVector3Array)


Descrizioni delle proprietà

bool backface_collision = false 🔗

  • void set_backface_collision_enabled(value: bool)

  • bool is_backface_collision_enabled()

Se impostato su true, le collisioni si verificano su entrambi i lati delle facce concave. Altrimenti si verificano solo lungo le normali delle facce.


Descrizioni dei metodi

PackedVector3Array get_faces() const 🔗

Restituisce le facce della forma trimesh come un array di vertici. L'array (di lunghezza divisibile per tre) è naturalmente diviso in triple; ogni tripla di vertici definisce un triangolo.


void set_faces(faces: PackedVector3Array) 🔗

Imposta le facce della forma trimesh da un array di vertici. L'array faces dovrebbe essere composto da triple in modo che ogni tripla di vertici definisca un triangolo.