2018-05-12 15:38:00 +08:00
<?xml version="1.0" encoding="UTF-8" ?>
2020-03-31 00:22:57 +08:00
<class name= "CSGPolygon3D" inherits= "CSGPrimitive3D" version= "4.0" >
2018-05-12 15:38:00 +08:00
<brief_description >
2018-07-19 17:31:12 +08:00
Extrudes a 2D polygon shape to create a 3D mesh.
2018-05-12 15:38:00 +08:00
</brief_description>
<description >
2018-07-03 19:21:36 +08:00
This node takes a 2D polygon shape and extrudes it to create a 3D mesh.
2018-05-12 15:38:00 +08:00
</description>
<tutorials >
</tutorials>
<methods >
</methods>
<members >
2019-06-29 18:38:01 +08:00
<member name= "depth" type= "float" setter= "set_depth" getter= "get_depth" default= "1.0" >
2018-07-19 17:31:12 +08:00
Extrusion depth when [member mode] is [constant MODE_DEPTH].
2018-05-12 15:38:00 +08:00
</member>
2019-07-16 02:42:47 +08:00
<member name= "material" type= "Material" setter= "set_material" getter= "get_material" >
2018-07-19 17:31:12 +08:00
Material to use for the resulting mesh.
2018-05-12 15:38:00 +08:00
</member>
2020-03-31 00:22:57 +08:00
<member name= "mode" type= "int" setter= "set_mode" getter= "get_mode" enum= "CSGPolygon3D.Mode" default= "0" >
2018-07-19 17:31:12 +08:00
Extrusion mode.
2018-05-12 15:38:00 +08:00
</member>
2019-06-30 03:22:15 +08:00
<member name= "path_continuous_u" type= "bool" setter= "set_path_continuous_u" getter= "is_path_continuous_u" >
2019-04-17 19:42:56 +08:00
If [code]true[/code] the u component of our uv will continuously increase in unison with the distance traveled along our path when [member mode] is [constant MODE_PATH].
2018-05-12 15:38:00 +08:00
</member>
2019-06-30 03:22:15 +08:00
<member name= "path_interval" type= "float" setter= "set_path_interval" getter= "get_path_interval" >
2018-07-19 17:31:12 +08:00
Interval at which a new extrusion slice is added along the path when [member mode] is [constant MODE_PATH].
2018-05-12 15:38:00 +08:00
</member>
2019-06-30 03:22:15 +08:00
<member name= "path_joined" type= "bool" setter= "set_path_joined" getter= "is_path_joined" >
2019-04-17 19:42:56 +08:00
If [code]true[/code] the start and end of our path are joined together ensuring there is no seam when [member mode] is [constant MODE_PATH].
2018-07-03 19:21:36 +08:00
</member>
2019-06-30 03:22:15 +08:00
<member name= "path_local" type= "bool" setter= "set_path_local" getter= "is_path_local" >
2020-03-31 00:22:57 +08:00
If [code]false[/code] we extrude centered on our path, if [code]true[/code] we extrude in relation to the position of our CSGPolygon3D when [member mode] is [constant MODE_PATH].
2018-07-03 19:21:36 +08:00
</member>
2019-06-30 03:22:15 +08:00
<member name= "path_node" type= "NodePath" setter= "set_path_node" getter= "get_path_node" >
2020-03-31 00:22:57 +08:00
The [Shape3D] object containing the path along which we extrude when [member mode] is [constant MODE_PATH].
2018-07-03 19:21:36 +08:00
</member>
2020-03-31 00:22:57 +08:00
<member name= "path_rotation" type= "int" setter= "set_path_rotation" getter= "get_path_rotation" enum= "CSGPolygon3D.PathRotation" >
2018-07-19 17:31:12 +08:00
The method by which each slice is rotated along the path when [member mode] is [constant MODE_PATH].
2018-05-12 15:38:00 +08:00
</member>
2020-02-18 20:59:24 +08:00
<member name= "polygon" type= "PackedVector2Array" setter= "set_polygon" getter= "get_polygon" default= "PackedVector2Array( 0, 0, 0, 1, 1, 1, 1, 0 )" >
2018-07-19 17:31:12 +08:00
Point array that defines the shape that we'll extrude.
2018-05-12 15:38:00 +08:00
</member>
2019-06-29 18:38:01 +08:00
<member name= "smooth_faces" type= "bool" setter= "set_smooth_faces" getter= "get_smooth_faces" default= "false" >
2018-07-19 17:31:12 +08:00
Generates smooth normals so smooth shading is applied to our mesh.
2018-05-12 15:38:00 +08:00
</member>
2019-06-30 03:22:15 +08:00
<member name= "spin_degrees" type= "float" setter= "set_spin_degrees" getter= "get_spin_degrees" >
2018-07-19 17:31:12 +08:00
Degrees to rotate our extrusion for each slice when [member mode] is [constant MODE_SPIN].
2018-05-12 15:38:00 +08:00
</member>
2019-06-30 03:22:15 +08:00
<member name= "spin_sides" type= "int" setter= "set_spin_sides" getter= "get_spin_sides" >
2018-07-19 17:31:12 +08:00
Number of extrusion when [member mode] is [constant MODE_SPIN].
2018-05-12 15:38:00 +08:00
</member>
</members>
<constants >
<constant name= "MODE_DEPTH" value= "0" enum= "Mode" >
2020-03-31 00:22:57 +08:00
Shape3D is extruded to [member depth].
2018-05-12 15:38:00 +08:00
</constant>
<constant name= "MODE_SPIN" value= "1" enum= "Mode" >
2020-03-31 00:22:57 +08:00
Shape3D is extruded by rotating it around an axis.
2018-05-12 15:38:00 +08:00
</constant>
<constant name= "MODE_PATH" value= "2" enum= "Mode" >
2020-03-31 00:22:57 +08:00
Shape3D is extruded along a path set by a [Shape3D] set in [member path_node].
2018-05-12 15:38:00 +08:00
</constant>
<constant name= "PATH_ROTATION_POLYGON" value= "0" enum= "PathRotation" >
2018-07-19 17:31:12 +08:00
Slice is not rotated.
2018-05-12 15:38:00 +08:00
</constant>
<constant name= "PATH_ROTATION_PATH" value= "1" enum= "PathRotation" >
2018-07-19 17:31:12 +08:00
Slice is rotated around the up vector of the path.
2018-05-12 15:38:00 +08:00
</constant>
<constant name= "PATH_ROTATION_PATH_FOLLOW" value= "2" enum= "PathRotation" >
2018-07-19 17:31:12 +08:00
Slice is rotate to match the path exactly.
2018-05-12 15:38:00 +08:00
</constant>
</constants>
</class>