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

Editor-only node for defining a collision polygon in 3D space.

Description

Allows editing a concave or convex collision polygon's vertices on a selected plane. Can also set a depth perpendicular to that plane. This class is only available in the editor. It will not appear in the scene tree at run-time. Creates several ConvexPolygonShape3Ds at run-time to represent the original polygon using convex decomposition.

Note: Since this is an editor-only helper, properties modified during gameplay will have no effect.

Warning: A non-uniformly scaled CollisionPolygon3D node will probably not function as expected. Please make sure to keep its scale uniform (i.e. the same on all axes), and change its polygon's vertices instead.

Properties

float

depth

1.0

bool

disabled

false

float

margin

0.04

PackedVector2Array

polygon

PackedVector2Array()


Property Descriptions

float depth = 1.0

  • void set_depth ( float value )

  • float get_depth ( )

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


bool disabled = false

  • void set_disabled ( bool value )

  • bool is_disabled ( )

If true, no collision will be produced.


float margin = 0.04

  • void set_margin ( float value )

  • 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 polygon.

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 polygon member.