Extrudes a 2D polygon shape to create a 3D mesh.
    public class CSGPolygon : CSGPrimitive

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

Inheritance Chain


    public CSGPolygon()


    public float Depth { get; set; }

Extrusion depth when Mode is ModeEnum.Depth.

    public Material Material { get; set; }

Material to use for the resulting mesh.

    public ModeEnum Mode { get; set; }

Extrusion mode.

    public bool PathContinuousU { get; set; }

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

    public float PathInterval { get; set; }

Interval at which a new extrusion slice is added along the path when Mode is ModeEnum.Path.

    public bool PathJoined { get; set; }

If true the start and end of our path are joined together ensuring there is no seam when Mode is ModeEnum.Path.

    public bool PathLocal { get; set; }

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

    public NodePath PathNode { get; set; }

The Shape object containing the path along which we extrude when Mode is ModeEnum.Path.

    public PathRotationEnum PathRotation { get; set; }

The method by which each slice is rotated along the path when Mode is ModeEnum.Path.

    public Vector2[] Polygon { get; set; }

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

    public bool SmoothFaces { get; set; }

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

    public float SpinDegrees { get; set; }

Degrees to rotate our extrusion for each slice when Mode is ModeEnum.Spin.

    public int SpinSides { get; set; }

Number of extrusion when Mode is ModeEnum.Spin.


    public float GetDepth()

Getter for Depth

    public Material GetMaterial()

Getter for Material

    public ModeEnum GetMode()

Getter for Mode

    public float GetPathInterval()

Getter for PathInterval

    public NodePath GetPathNode()

Getter for PathNode

    public PathRotationEnum GetPathRotation()

Getter for PathRotation

    public Vector2[] GetPolygon()

Getter for PathRotationEnum.Polygon

    public bool GetSmoothFaces()

Getter for SmoothFaces

    public float GetSpinDegrees()

Getter for SpinDegrees

    public int GetSpinSides()

Getter for SpinSides

    public bool IsPathContinuousU()

Getter for PathContinuousU

    public bool IsPathJoined()

Getter for PathJoined

    public bool IsPathLocal()

Getter for PathLocal

    public void SetDepth(float depth)

Setter for Depth

    public void SetMaterial(Material material)

Setter for Material

    public void SetMode(ModeEnum mode)

Setter for Mode

    public void SetPathContinuousU(bool enable)

Setter for PathContinuousU

    public void SetPathInterval(float distance)

Setter for PathInterval

    public void SetPathJoined(bool enable)

Setter for PathJoined

    public void SetPathLocal(bool enable)

Setter for PathLocal

    public void SetPathNode(NodePath path)

Setter for PathNode

    public void SetPathRotation(PathRotationEnum mode)

Setter for PathRotation

    public void SetPolygon(Vector2[] polygon)

Setter for PathRotationEnum.Polygon

    public void SetSmoothFaces(bool smoothFaces)

Setter for SmoothFaces

    public void SetSpinDegrees(float degrees)

Setter for SpinDegrees

    public void SetSpinSides(int spinSides)

Setter for SpinSides

Inner Types


Name Value Description
Depth 0 Shape is extruded to [member depth].
Spin 1 Shape is extruded by rotating it around an axis.
Path 2 Shape is extruded along a path set by a [Shape] set in [member path_node].


Name Value Description