Class ConvexPolygonShape2D
- Namespace
- Godot
- Assembly
- GodotSharp.dll
A 2D convex polygon shape, intended for use in physics. Used internally in CollisionPolygon2D when it's in Solids mode.
ConvexPolygonShape2D is solid, which means it detects collisions from objects that are fully inside it, unlike ConcavePolygonShape2D which is hollow. This makes it more suitable for both detection and physics.
Convex decomposition: A concave polygon can be split up into several convex polygons. This allows dynamic physics bodies to have complex concave collisions (at a performance cost) and can be achieved by using several ConvexPolygonShape2D nodes or by using the CollisionPolygon2D node in Solids mode. To generate a collision polygon from a sprite, select the Sprite2D node, go to the Sprite2D menu that appears above the viewport, and choose Create Polygon2D Sibling.
Performance: ConvexPolygonShape2D is faster to check collisions against compared to ConcavePolygonShape2D, but it is slower than primitive collision shapes such as CircleShape2D and RectangleShape2D. Its use should generally be limited to medium-sized objects that cannot have their collision accurately represented by primitive shapes.
public class ConvexPolygonShape2D : Shape2D, IDisposable
- Inheritance
-
ConvexPolygonShape2D
- Implements
- Inherited Members
Constructors
ConvexPolygonShape2D()
public ConvexPolygonShape2D()
Properties
Points
The polygon's list of vertices that form a convex hull. Can be in either clockwise or counterclockwise order.
Warning: Only set this property to a list of points that actually form a convex hull. Use SetPointCloud(Vector2[]) to generate the convex hull of an arbitrary set of points.
public Vector2[] Points { get; set; }
Property Value
- Vector2[]
Methods
HasGodotClassMethod(in godot_string_name)
Check if the type contains a method with the given name. This method is used by Godot to check if a method exists before invoking it. Do not call or override this method.
protected override bool HasGodotClassMethod(in godot_string_name method)
Parameters
method
godot_string_nameName of the method to check for.
Returns
HasGodotClassSignal(in godot_string_name)
Check if the type contains a signal with the given name. This method is used by Godot to check if a signal exists before raising it. Do not call or override this method.
protected override bool HasGodotClassSignal(in godot_string_name signal)
Parameters
signal
godot_string_nameName of the signal to check for.
Returns
InvokeGodotClassMethod(in godot_string_name, NativeVariantPtrArgs, out godot_variant)
Invokes the method with the given name, using the given arguments. This method is used by Godot to invoke methods from the engine side. Do not call or override this method.
protected override bool InvokeGodotClassMethod(in godot_string_name method, NativeVariantPtrArgs args, out godot_variant ret)
Parameters
method
godot_string_nameName of the method to invoke.
args
NativeVariantPtrArgsArguments to use with the invoked method.
ret
godot_variantValue returned by the invoked method.
Returns
SetPointCloud(Vector2[])
Based on the set of points provided, this assigns the Points property using the convex hull algorithm, removing all unneeded points. See ConvexHull(Vector2[]) for details.
public void SetPointCloud(Vector2[] pointCloud)
Parameters
pointCloud
Vector2[]