2017-09-13 04:42:36 +08:00
<?xml version="1.0" encoding="UTF-8" ?>
2022-02-14 21:18:53 +08:00
<class name= "PrimitiveMesh" inherits= "Mesh" version= "4.0" xmlns:xsi= "http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation= "../class.xsd" >
2017-09-13 04:42:36 +08:00
<brief_description >
Base class for all primitive meshes. Handles applying a [Material] to a primitive mesh.
</brief_description>
<description >
2022-08-24 05:15:40 +08:00
Base class for all primitive meshes. Handles applying a [Material] to a primitive mesh. Examples include [BoxMesh], [CapsuleMesh], [CylinderMesh], [PlaneMesh], [PrismMesh], and [SphereMesh].
2017-09-13 04:42:36 +08:00
</description>
<tutorials >
</tutorials>
<methods >
2022-03-10 15:17:38 +08:00
<method name= "_create_mesh_array" qualifiers= "virtual const" >
<return type= "Array" />
<description >
</description>
</method>
2017-09-13 04:42:36 +08:00
<method name= "get_mesh_arrays" qualifiers= "const" >
2021-07-30 21:28:05 +08:00
<return type= "Array" />
2017-09-13 04:42:36 +08:00
<description >
2020-07-15 20:09:27 +08:00
Returns mesh arrays used to constitute surface of [Mesh]. The result can be passed to [method ArrayMesh.add_surface_from_arrays] to create a new surface. For example:
2020-11-01 01:54:17 +08:00
[codeblocks]
[gdscript]
var c = CylinderMesh.new()
var arr_mesh = ArrayMesh.new()
2020-07-15 20:09:27 +08:00
arr_mesh.add_surface_from_arrays(Mesh.PRIMITIVE_TRIANGLES, c.get_mesh_arrays())
2020-11-01 01:54:17 +08:00
[/gdscript]
[csharp]
var c = new CylinderMesh();
var arrMesh = new ArrayMesh();
arrMesh.AddSurfaceFromArrays(Mesh.PrimitiveType.Triangles, c.GetMeshArrays());
[/csharp]
[/codeblocks]
2017-09-13 04:42:36 +08:00
</description>
</method>
</methods>
<members >
2022-10-28 22:14:53 +08:00
<member name= "add_uv2" type= "bool" setter= "set_add_uv2" getter= "get_add_uv2" default= "false" >
If set, generates UV2 UV coordinates applying a padding using the [member uv2_padding] setting. UV2 is needed for lightmapping.
</member>
2022-11-07 03:27:24 +08:00
<member name= "custom_aabb" type= "AABB" setter= "set_custom_aabb" getter= "get_custom_aabb" default= "AABB(0, 0, 0, 0, 0, 0)" >
2021-06-07 16:17:32 +08:00
Overrides the [AABB] with one defined by user for use with frustum culling. Especially useful to avoid unexpected culling when using a shader to offset vertices.
2018-05-12 15:38:00 +08:00
</member>
2022-11-07 03:27:24 +08:00
<member name= "flip_faces" type= "bool" setter= "set_flip_faces" getter= "get_flip_faces" default= "false" >
2019-12-07 06:09:20 +08:00
If set, the order of the vertices in each triangle are reversed resulting in the backside of the mesh being drawn.
2021-12-28 10:29:18 +08:00
This gives the same result as using [constant BaseMaterial3D.CULL_FRONT] in [member BaseMaterial3D.cull_mode].
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" >
2017-09-13 04:42:36 +08:00
The current [Material] of the primitive mesh.
</member>
2022-10-28 22:14:53 +08:00
<member name= "uv2_padding" type= "float" setter= "set_uv2_padding" getter= "get_uv2_padding" default= "2.0" >
If [member add_uv2] is set, specifies the padding in pixels applied along seams of the mesh. If at generation the size of the lightmap texture can't be determined, the UVs are calculated assuming a texture size of 1024x1024.
</member>
2017-09-13 04:42:36 +08:00
</members>
</class>