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.

ConvexPolygonShape2D

Hérite de : Shape2D < Resource < RefCounted < Object

Une forme de polygone convexe 2D utilisée pour les collisions physiques.

Description

Une forme de polygone convexe 2D, destinée à être utilisée en physique. Utilisé en interne dans CollisionPolygon2D lorsque il est en mode CollisionPolygon2D.BUILD_SOLIDS.

ConvexPolygonShape2D est solide, ce qui signifie qu'elle détecte les collisions d’objets qui sont entièrement dans celle-ci, contrairement à ConcavePolygonShape2D qui est creuse. Cela la rend plus approprié pour la détection et la physique.

Décomposition convexe : Un polygone concave peut être divisé en plusieurs polygones convexes. Cela permet aux corps physiques dynamiques d'avoir des collisions concaves complexes (à un coût de performance) et peut être réalisé en utilisant plusieurs nœuds ConvexPolygonShape2D ou en utilisant le nœud CollisionPolygon2D en mode CollisionPolygon2D.BUILD_SOLIDS. Pour générer un polygone de collision à partir d'un sprite, sélectionnez le nœud Sprite2D, allez dans le menu Sprite2D qui apparaît au-dessus de la fenêtre, et choisissez Créer Polygon2D frère.

Performance : ConvexPolygonShape2D est plus rapide pour vérifier les collisions comparé à ConcavePolygonShape2D, mais il est plus lent que les formes de collision primitives telles que CircleShape2D et RectangleShape2D. Son utilisation devrait généralement être limitée à des objets de taille moyenne qui ne peuvent pas avoir leur collision correctement représentée par des formes primitives.

Propriétés

PackedVector2Array

points

PackedVector2Array()

Méthodes

void

set_point_cloud(point_cloud: PackedVector2Array)


Descriptions des propriétés

PackedVector2Array points = PackedVector2Array() 🔗

La liste des sommets du polygone qui forment une enveloppe convexe. Peut être dans le sens horaire ou dans le sens anti-horaire.

Attention : Définissez seulement cette propriété à une liste de points qui forment une enveloppe convexe. Utilisez set_point_cloud() pour générer l'enveloppe convexe d'un ensemble arbitraire de points.

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


Descriptions des méthodes

void set_point_cloud(point_cloud: PackedVector2Array) 🔗

Selon l'ensemble des points fournis, cela assigne la propriété points en utilisant l'algorithme d'enveloppe convexe, enlevant tous les points inutiles. Voir Geometry2D.convex_hull() pour plus de détails.