CollisionPolygon2D

Inherits: Node2D < CanvasItem < Node < Object

Defines a 2D collision polygon.

Description

Provides a concave or convex 2D collision polygon to a CollisionObject2D parent. Polygons can be drawn in the editor or specified by a list of vertices. See also ConvexPolygonShape2D.

In the editor, a CollisionPolygon2D can be generated from a Sprite2D's outline by selecting a Sprite2D node, going to the Sprite2D menu at the top of the 2D editor viewport then choosing Create CollisionPolygon2D Sibling.

Properties

BuildMode

build_mode

0

bool

disabled

false

bool

one_way_collision

false

float

one_way_collision_margin

1.0

PackedVector2Array

polygon

PackedVector2Array()


Enumerations

enum BuildMode:

BuildMode BUILD_SOLIDS = 0

Collisions will include the polygon and its contained area.

BuildMode BUILD_SEGMENTS = 1

Collisions will only include the polygon edges.


Property Descriptions

BuildMode build_mode = 0

Collision build mode. Use one of the BuildMode constants.


bool disabled = false

  • void set_disabled ( bool value )

  • bool is_disabled ( )

If true, no collisions will be detected.


bool one_way_collision = false

  • void set_one_way_collision ( bool value )

  • bool is_one_way_collision_enabled ( )

If true, only edges that face up, relative to CollisionPolygon2D's rotation, will collide with other objects.

Note: This property has no effect if this CollisionPolygon2D is a child of an Area2D node.


float one_way_collision_margin = 1.0

  • void set_one_way_collision_margin ( float value )

  • float get_one_way_collision_margin ( )

The margin used for one-way collision (in pixels). Higher values will make the shape thicker, and work better for colliders that enter the polygon at a high velocity.


PackedVector2Array polygon = PackedVector2Array()

The polygon's list of vertices. The final point will be connected to the first. The returned value is a clone of the PackedVector2Array, not a reference.