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.

CollisionPolygon3D

Inherits: Node3D < Node < Object

A node that provides a thickened polygon shape (a prism) to a CollisionObject3D parent.

Description

A node that provides a thickened polygon shape (a prism) to a CollisionObject3D parent and allows to edit it. The polygon can be concave or convex. This can give a detection shape to an Area3D or turn PhysicsBody3D into a solid object.

Warning: A non-uniformly scaled CollisionShape3D will likely not behave as expected. Make sure to keep its scale the same on all axes and adjust its shape resource instead.

Properties

float

depth

1.0

bool

disabled

false

float

margin

0.04

PackedVector2Array

polygon

PackedVector2Array()


Property Descriptions

float depth = 1.0

Length that the resulting collision extends in either direction perpendicular to its 2D polygon.


bool disabled = false

  • void set_disabled(value: bool)

  • bool is_disabled()

If true, no collision will be produced.


float margin = 0.04

  • void set_margin(value: float)

  • float get_margin()

The collision margin for the generated Shape3D. See Shape3D.margin for more details.


PackedVector2Array polygon = PackedVector2Array()

Array of vertices which define the 2D polygon in the local XY plane.

Note: The returned value is a copy of the original. Methods which mutate the size or properties of the return value will not impact the original polygon. To change properties of the polygon, assign it to a temporary variable and make changes before reassigning the class property.


User-contributed notes

Please read the User-contributed notes policy before submitting a comment.