:github_url: hide .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. .. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. .. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/CollisionPolygon3D.xml. .. _class_CollisionPolygon3D: CollisionPolygon3D ================== **Inherits:** :ref:`Node3D` **<** :ref:`Node` **<** :ref:`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 :ref:`ConvexPolygonShape3D`\ s 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. Properties ---------- +-----------------------------------------------------+-------------------------------------------------------------+--------------------------+ | :ref:`float` | :ref:`depth` | ``1.0`` | +-----------------------------------------------------+-------------------------------------------------------------+--------------------------+ | :ref:`bool` | :ref:`disabled` | ``false`` | +-----------------------------------------------------+-------------------------------------------------------------+--------------------------+ | :ref:`float` | :ref:`margin` | ``0.04`` | +-----------------------------------------------------+-------------------------------------------------------------+--------------------------+ | :ref:`PackedVector2Array` | :ref:`polygon` | ``PackedVector2Array()`` | +-----------------------------------------------------+-------------------------------------------------------------+--------------------------+ Property Descriptions --------------------- .. _class_CollisionPolygon3D_property_depth: - :ref:`float` **depth** +-----------+------------------+ | *Default* | ``1.0`` | +-----------+------------------+ | *Setter* | set_depth(value) | +-----------+------------------+ | *Getter* | get_depth() | +-----------+------------------+ Length that the resulting collision extends in either direction perpendicular to its polygon. ---- .. _class_CollisionPolygon3D_property_disabled: - :ref:`bool` **disabled** +-----------+---------------------+ | *Default* | ``false`` | +-----------+---------------------+ | *Setter* | set_disabled(value) | +-----------+---------------------+ | *Getter* | is_disabled() | +-----------+---------------------+ If ``true``, no collision will be produced. ---- .. _class_CollisionPolygon3D_property_margin: - :ref:`float` **margin** +-----------+-------------------+ | *Default* | ``0.04`` | +-----------+-------------------+ | *Setter* | set_margin(value) | +-----------+-------------------+ | *Getter* | get_margin() | +-----------+-------------------+ The collision margin for the generated :ref:`Shape3D`. See :ref:`Shape3D.margin` for more details. ---- .. _class_CollisionPolygon3D_property_polygon: - :ref:`PackedVector2Array` **polygon** +-----------+--------------------------+ | *Default* | ``PackedVector2Array()`` | +-----------+--------------------------+ | *Setter* | set_polygon(value) | +-----------+--------------------------+ | *Getter* | get_polygon() | +-----------+--------------------------+ 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. .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)` .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)` .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)` .. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)` .. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)` .. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)`