/Godot 3.1


Inherits: CSGPrimitive < CSGShape < VisualInstance < Spatial < Node < Object

Category: Core

Brief Description

Extrudes a 2D polygon shape to create a 3D mesh.


float depth
Material material
Mode mode
bool path_continuous_u
float path_interval
bool path_joined
bool path_local
NodePath path_node
PathRotation path_rotation
PoolVector2Array polygon
bool smooth_faces
float spin_degrees
int spin_sides


enum Mode:

  • MODE_DEPTH = 0 — Shape is extruded to depth.
  • MODE_SPIN = 1 — Shape is extruded by rotating it around an axis.
  • MODE_PATH = 2 — Shape is extruded along a path set by a Shape set in path_node.

enum PathRotation:

  • PATH_ROTATION_POLYGON = 0 — Slice is not rotated.
  • PATH_ROTATION_PATH = 1 — Slice is rotated around the up vector of the path.
  • PATH_ROTATION_PATH_FOLLOW = 2 — Slice is rotate to match the path exactly.


This node takes a 2D polygon shape and extrudes it to create a 3D mesh.

Property Descriptions

float depth

Setter set_depth(value)
Getter get_depth()

Extrusion depth when mode is MODE_DEPTH.

Material material

Setter set_material(value)
Getter get_material()

Material to use for the resulting mesh.

Mode mode

Setter set_mode(value)
Getter get_mode()

Extrusion mode.

bool path_continuous_u

Setter set_path_continuous_u(value)
Getter is_path_continuous_u()

If true the u component of our uv will continuously increase in unison with the distance traveled along our path when mode is MODE_PATH.

float path_interval

Setter set_path_interval(value)
Getter get_path_interval()

Interval at which a new extrusion slice is added along the path when mode is MODE_PATH.

bool path_joined

Setter set_path_joined(value)
Getter is_path_joined()

If true the start and end of our path are joined together ensuring there is no seam when mode is MODE_PATH.

bool path_local

Setter set_path_local(value)
Getter is_path_local()

If false we extrude centered on our path, if true we extrude in relation to the position of our CSGPolygon when mode is MODE_PATH.

NodePath path_node

Setter set_path_node(value)
Getter get_path_node()

The Shape object containing the path along which we extrude when mode is MODE_PATH.

PathRotation path_rotation

Setter set_path_rotation(value)
Getter get_path_rotation()

The method by which each slice is rotated along the path when mode is MODE_PATH.

PoolVector2Array polygon

Setter set_polygon(value)
Getter get_polygon()

Point array that defines the shape that we’ll extrude.

bool smooth_faces

Setter set_smooth_faces(value)
Getter get_smooth_faces()

Generates smooth normals so smooth shading is applied to our mesh.

float spin_degrees

Setter set_spin_degrees(value)
Getter get_spin_degrees()

Degrees to rotate our extrusion for each slice when mode is MODE_SPIN.

int spin_sides

Setter set_spin_sides(value)
Getter get_spin_sides()

Number of extrusion when mode is MODE_SPIN.

© 2014–2019 Juan Linietsky, Ariel Manzur, Godot Engine contributors
Licensed under the MIT License.