CSGPolygon3D

Inherits: CSGPrimitive3D < CSGShape3D < GeometryInstance3D < VisualInstance3D < Node3D < Node < Object

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

Description

An array of 2D points is extruded to quickly and easily create a variety of 3D meshes. See also CSGMesh3D for using 3D meshes as CSG nodes.

Note: CSG nodes are intended to be used for level prototyping. Creating CSG nodes has a significant CPU cost compared to creating a MeshInstance3D with a PrimitiveMesh. Moving a CSG node within another CSG node also has a significant CPU cost, so it should be avoided during gameplay.

Tutorials

Properties

float

depth

1.0

Material

material

Mode

mode

0

bool

path_continuous_u

float

path_interval

PathIntervalType

path_interval_type

bool

path_joined

bool

path_local

NodePath

path_node

PathRotation

path_rotation

float

path_simplify_angle

float

path_u_distance

PackedVector2Array

polygon

PackedVector2Array(0, 0, 0, 1, 1, 1, 1, 0)

bool

smooth_faces

false

float

spin_degrees

int

spin_sides


Enumerations

enum Mode:

Mode MODE_DEPTH = 0

The polygon shape is extruded along the negative Z axis.

Mode MODE_SPIN = 1

The polygon shape is extruded by rotating it around the Y axis.

Mode MODE_PATH = 2

The polygon shape is extruded along the Path3D specified in path_node.


enum PathRotation:

PathRotation PATH_ROTATION_POLYGON = 0

The polygon shape is not rotated.

Note: Requires the path Z coordinates to continually decrease to ensure viable shapes.

PathRotation PATH_ROTATION_PATH = 1

The polygon shape is rotated along the path, but it is not rotated around the path axis.

Note: Requires the path Z coordinates to continually decrease to ensure viable shapes.

PathRotation PATH_ROTATION_PATH_FOLLOW = 2

The polygon shape follows the path and its rotations around the path axis.


enum PathIntervalType:

PathIntervalType PATH_INTERVAL_DISTANCE = 0

When mode is set to MODE_PATH, path_interval will determine the distance, in meters, each interval of the path will extrude.

PathIntervalType PATH_INTERVAL_SUBDIVIDE = 1

When mode is set to MODE_PATH, path_interval will subdivide the polygons along the path.


Property Descriptions

float depth = 1.0

  • void set_depth ( float value )

  • float get_depth ( )

When mode is MODE_DEPTH, the depth of the extrusion.


Material material

Material to use for the resulting mesh. The UV maps the top half of the material to the extruded shape (U along the length of the extrusions and V around the outline of the polygon), the bottom-left quarter to the front end face, and the bottom-right quarter to the back end face.


Mode mode = 0

  • void set_mode (