.. Generated automatically by doc/tools/makerst.py in Godot's source tree. .. DO NOT EDIT THIS FILE, but the doc/base/classes.xml source instead. .. _class_Mesh: Mesh ==== **Inherits:** :ref:`Resource` **<** :ref:`Reference` **<** :ref:`Object` **Inherited By:** :ref:`ArrayMesh`, :ref:`PrimitiveMesh` **Category:** Core Brief Description ----------------- A :ref:`Resource` that contains vertex-array based geometry. Member Functions ---------------- +------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`add_morph_target` **(** :ref:`String` name **)** | +------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`add_surface` **(** :ref:`int` primitive, :ref:`Array` arrays, :ref:`Array` morph_arrays=Array(), :ref:`bool` alphasort=false **)** | +------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`center_geometry` **(** **)** | +------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`clear_morph_targets` **(** **)** | +------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Shape` | :ref:`create_convex_shape` **(** **)** const | +------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Mesh` | :ref:`create_outline` **(** :ref:`float` margin **)** const | +------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Shape` | :ref:`create_trimesh_shape` **(** **)** const | +------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | TriangleMesh | :ref:`generate_triangle_mesh` **(** **)** const | +------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`AABB` | :ref:`get_custom_aabb` **(** **)** const | +------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Vector3Array` | :ref:`get_faces` **(** **)** const | +------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_morph_target_count` **(** **)** const | +------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_morph_target_mode` **(** **)** const | +------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`String` | :ref:`get_morph_target_name` **(** :ref:`int` index **)** const | +------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_surface_count` **(** **)** const | +------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`regen_normalmaps` **(** **)** | +------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_custom_aabb` **(** :ref:`AABB` aabb **)** | +------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_morph_target_mode` **(** :ref:`int` mode **)** | +------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`surface_get_array_index_len` **(** :ref:`int` surf_idx **)** const | +------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`surface_get_array_len` **(** :ref:`int` surf_idx **)** const | +------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`surface_get_format` **(** :ref:`int` surf_idx **)** const | +------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Material` | :ref:`surface_get_material` **(** :ref:`int` surf_idx **)** const | +------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`String` | :ref:`surface_get_name` **(** :ref:`int` surf_idx **)** const | +------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`surface_get_primitive_type` **(** :ref:`int` surf_idx **)** const | +------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`surface_remove` **(** :ref:`int` surf_idx **)** | +------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`surface_set_material` **(** :ref:`int` surf_idx, :ref:`Material` material **)** | +------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`surface_set_name` **(** :ref:`int` surf_idx, :ref:`String` name **)** | +------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ Numeric Constants ----------------- - **PRIMITIVE_POINTS** = **0** --- Render array as points (one vertex equals one point). - **PRIMITIVE_LINES** = **1** --- Render array as lines (every two vertices a line is created). - **PRIMITIVE_LINE_STRIP** = **2** --- Render array as line strip. - **PRIMITIVE_LINE_LOOP** = **3** --- Render array as line loop (like line strip, but closed). - **PRIMITIVE_TRIANGLES** = **4** --- Render array as triangles (every three vertices a triangle is created). - **PRIMITIVE_TRIANGLE_STRIP** = **5** --- Render array as triangle strips. - **PRIMITIVE_TRIANGLE_FAN** = **6** --- Render array as triangle fans. Description ----------- Mesh is a type of :ref:`Resource` that contains vertex-array based geometry, divided in *surfaces*. Each surface contains a completely separate array and a material used to draw it. Design wise, a mesh with multiple surfaces is preferred to a single surface, because objects created in 3D editing software commonly contain multiple materials. Member Function Description --------------------------- .. _class_Mesh_add_morph_target: - void **add_morph_target** **(** :ref:`String` name **)** .. _class_Mesh_add_surface: - void **add_surface** **(** :ref:`int` primitive, :ref:`Array` arrays, :ref:`Array` morph_arrays=Array(), :ref:`bool` alphasort=false **)** Create a new surface (:ref:`get_surface_count` that will become surf_idx for this. Surfaces are created to be rendered using a "primitive", which may be PRIMITIVE_POINTS, PRIMITIVE_LINES, PRIMITIVE_LINE_STRIP, PRIMITIVE_LINE_LOOP, PRIMITIVE_TRIANGLES, PRIMITIVE_TRIANGLE_STRIP, PRIMITIVE_TRIANGLE_FAN. (As a note, when using indices, it is recommended to only use just points, lines or triangles). The format of a surface determines which arrays it will allocate and hold, so "format" is a combination of ARRAY_FORMAT\_\* mask constants ORed together. ARRAY_FORMAT_VERTEX must be always present. "array_len" determines the amount of vertices in the array (not primitives!). if ARRAY_FORMAT_INDEX is in the format mask, then it means that an index array will be allocated and "index_array_len" must be passed. .. _class_Mesh_center_geometry: - void **center_geometry** **(** **)** .. _class_Mesh_clear_morph_targets: - void **clear_morph_targets** **(** **)** .. _class_Mesh_create_convex_shape: - :ref:`Shape` **create_convex_shape** **(** **)** const .. _class_Mesh_create_outline: - :ref:`Mesh` **create_outline** **(** :ref:`float` margin **)** const .. _class_Mesh_create_trimesh_shape: - :ref:`Shape` **create_trimesh_shape** **(** **)** const .. _class_Mesh_generate_triangle_mesh: - TriangleMesh **generate_triangle_mesh** **(** **)** const .. _class_Mesh_get_custom_aabb: - :ref:`AABB` **get_custom_aabb** **(** **)** const .. _class_Mesh_get_faces: - :ref:`Vector3Array` **get_faces** **(** **)** const .. _class_Mesh_get_morph_target_count: - :ref:`int` **get_morph_target_count** **(** **)** const .. _class_Mesh_get_morph_target_mode: - :ref:`int` **get_morph_target_mode** **(** **)** const .. _class_Mesh_get_morph_target_name: - :ref:`String` **get_morph_target_name** **(** :ref:`int` index **)** const .. _class_Mesh_get_surface_count: - :ref:`int` **get_surface_count** **(** **)** const Return the amount of surfaces that the :ref:`Mesh` holds. .. _class_Mesh_regen_normalmaps: - void **regen_normalmaps** **(** **)** .. _class_Mesh_set_custom_aabb: - void **set_custom_aabb** **(** :ref:`AABB` aabb **)** .. _class_Mesh_set_morph_target_mode: - void **set_morph_target_mode** **(** :ref:`int` mode **)** .. _class_Mesh_surface_get_array_index_len: - :ref:`int` **surface_get_array_index_len** **(** :ref:`int` surf_idx **)** const Return the length in indices of the index array in the requested surface (see :ref:`add_surface`). .. _class_Mesh_surface_get_array_len: - :ref:`int` **surface_get_array_len** **(** :ref:`int` surf_idx **)** const Return the length in vertices of the vertex array in the requested surface (see :ref:`add_surface`). .. _class_Mesh_surface_get_format: - :ref:`int` **surface_get_format** **(** :ref:`int` surf_idx **)** const Return the format mask of the requested surface (see :ref:`add_surface`). .. _class_Mesh_surface_get_material: - :ref:`Material` **surface_get_material** **(** :ref:`int` surf_idx **)** const Return a :ref:`Material` in a given surface. Surface is rendered using this material. .. _class_Mesh_surface_get_name: - :ref:`String` **surface_get_name** **(** :ref:`int` surf_idx **)** const .. _class_Mesh_surface_get_primitive_type: - :ref:`int` **surface_get_primitive_type** **(** :ref:`int` surf_idx **)** const - :ref:`Shape` **create_convex_shape** **(** **)** const .. _class_Mesh_create_outline: - :ref:`Mesh` **create_outline** **(** :ref:`float` margin **)** const .. _class_Mesh_create_trimesh_shape: - :ref:`Shape` **create_trimesh_shape** **(** **)** const .. _class_Mesh_generate_triangle_mesh: - :ref:`TriangleMesh` **generate_triangle_mesh** **(** **)** const .. _class_Mesh_get_faces: - :ref:`PoolVector3Array` **get_faces** **(** **)** const