CSGPolygon
Extrudes a 2D polygon shape to create a 3D mesh.
An array of 2D points is extruded to quickly and easily create a variety of 3D meshes. See also 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 MeshInstance with a . Moving a CSG node within another CSG node also has a significant CPU cost, so it should be avoided during gameplay.
enum Mode:
MODE_DEPTH = 0 —- The polygon shape is extruded along the negative Z axis.
MODE_SPIN = 1 —- The shape is extruded by rotating it around the Y axis.
MODE_PATH = 2 —- The polygon shape is extruded along the specified in path_node.
enum PathRotation:
Note: Requires the path’s Z coordinates to continually decrease to ensure viable shapes.
- PATH_ROTATION_PATH = 1 —- The shape is rotated along the path, but it is not rotated around the path axis.
- PATH_ROTATION_PATH_FOLLOW = 2 —- The polygon shape follows the path and its rotations around the path axis.
enum PathIntervalType:
PATH_INTERVAL_DISTANCE = 0 —- When is set to MODE_PATH, will determine the distance, in meters, each interval of the path will extrude.
PATH_INTERVAL_SUBDIVIDE = 1 —- When mode is set to , path_interval will subdivide the polygons along the path.
- float depth
Default | |
Setter | set_depth(value) |
Getter | get_depth() |
When is MODE_DEPTH, the depth of the extrusion.
- material
Setter | set_material(value) |
Getter | get_material() |
Material to use for the resulting mesh. The UV maps the top half of the material to the extruded shape (U along the 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
Default |
|
Setter | set_mode(value) |
Getter | get_mode() |
The mode used to extrude the .
- bool path_continuous_u
Setter | set_path_continuous_u(value) |
Getter | is_path_continuous_u() |
When is MODE_PATH, by default, the top half of the is stretched along the entire length of the extruded shape. If false
the top half of the material is repeated every step of the extrusion.
- float path_interval
When is MODE_PATH, the path interval or ratio of path points to extrusions.
Setter | set_path_interval_type(value) |
Getter | get_path_interval_type() |
When is MODE_PATH, this will determine if the interval should be by distance () or subdivision fractions (PATH_INTERVAL_SUBDIVIDE).
- path_joined
Setter | set_path_joined(value) |
Getter | is_path_joined() |
When mode is , if true
the ends of the path are joined, by adding an extrusion between the last and first points of the path.
- bool path_local
Setter | set_path_local(value) |
Getter |
When is MODE_PATH, if the of the CSGPolygon
is used as the starting point for the extrusions, not the Transform of the .
- NodePath path_node
Setter | set_path_node(value) |
Getter | get_path_node() |
When is MODE_PATH, the location of the object used to extrude the polygon.
- path_rotation
When mode is , the PathRotation method used to rotate the as it is extruded.
- float path_simplify_angle
Setter | set_path_simplify_angle(value) |
Getter | get_path_simplify_angle() |
When is MODE_PATH, extrusions that are less than this angle, will be merged together to reduce polygon count.
- path_u_distance
Setter | set_path_u_distance(value) |
Getter | get_path_u_distance() |
When mode is , this is the distance along the path, in meters, the texture coordinates will tile. When set to 0, texture coordinates will match geometry exactly with no tiling.
- PoolVector2Array polygon
Default |
|
Setter | set_polygon(value) |
Getter | get_polygon() |
The point array that defines the 2D polygon that is extruded. This can be a convex or concave polygon with 3 or more points. The polygon must not have any intersecting edges. Otherwise, triangulation will fail and no mesh will be generated.
Note: If only 1 or 2 points are defined in , no mesh will be generated.
- bool smooth_faces
Default |
|
Setter | set_smooth_faces(value) |
Getter | get_smooth_faces() |
If , applies smooth shading to the extrusions.
- spin_degrees
When mode is , the total number of degrees the polygon is rotated when extruding.
Setter | set_spin_sides(value) |
Getter | get_spin_sides() |