A [Resource] that contains vertex array-based geometry.
Mesh is a type of [Resource] that contains vertex array-based geometry, divided in [i]surfaces[/i]. 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.
https://godotengine.org/asset-library/asset/123
https://godotengine.org/asset-library/asset/126
https://godotengine.org/asset-library/asset/125
https://godotengine.org/asset-library/asset/678
Calculate a [ConvexPolygonShape] from the mesh.
If [code]clean[/code] is [code]true[/code] (default), duplicate and interior vertices are removed automatically. You can set it to [code]false[/code] to make the process faster if not needed.
If [code]simplify[/code] is [code]true[/code], the geometry can be further simplified to reduce the amount of vertices. Disabled by default.
Calculate an outline mesh at a defined offset (margin) from the original mesh.
[b]Note:[/b] This method typically returns the vertices in reverse order (e.g. clockwise to counterclockwise).
Calculate a [ConcavePolygonShape] from the mesh.
Generate a [TriangleMesh] from the mesh. Considers only surfaces using one of these primitive types: [constant PRIMITIVE_TRIANGLES], [constant PRIMITIVE_TRIANGLE_STRIP], or [constant PRIMITIVE_TRIANGLE_FAN].
Returns the smallest [AABB] enclosing this mesh in local space. Not affected by [code]custom_aabb[/code]. See also [method VisualInstance.get_transformed_aabb].
[b]Note:[/b] This is only implemented for [ArrayMesh] and [PrimitiveMesh].
Returns all the vertices that make up the faces of the mesh. Each three vertices represent one triangle.
Returns the amount of surfaces that the [Mesh] holds.
Returns the arrays for the vertices, normals, uvs, etc. that make up the requested surface (see [method ArrayMesh.add_surface_from_arrays]).
Returns the blend shape arrays for the requested surface.
Returns a [Material] in a given surface. Surface is rendered using this material.
Sets a [Material] for a given surface. Surface will be rendered using this material.
Sets a hint to be used for lightmap resolution in [BakedLightmap]. Overrides [member BakedLightmap.default_texels_per_unit].
Render array as points (one vertex equals one point).
Render array as lines (every two vertices a line is created).
Render array as line strip.
Render array as line loop (like line strip, but closed).
Render array as triangles (every three vertices a triangle is created).
Render array as triangle strips.
Render array as triangle fans.
Blend shapes are normalized.
Blend shapes are relative to base weight.
Mesh array contains vertices. All meshes require a vertex array so this should always be present.
Mesh array contains normals.
Mesh array contains tangents.
Mesh array contains colors.
Mesh array contains UVs.
Mesh array contains second UV.
Mesh array contains bones.
Mesh array contains bone weights.
Mesh array uses indices.
Used internally to calculate other [code]ARRAY_COMPRESS_*[/code] enum values. Do not use.
Flag used to mark a compressed (half float) vertex array.
Flag used to mark a compressed (half float) normal array.
Flag used to mark a compressed (half float) tangent array.
Flag used to mark a compressed (half float) color array.
[b]Note:[/b] If this flag is enabled, vertex colors will be stored as 8-bit unsigned integers. This will clamp overbright colors to [code]Color(1, 1, 1, 1)[/code] and reduce colors' precision.
Flag used to mark a compressed (half float) UV coordinates array.
Flag used to mark a compressed (half float) UV coordinates array for the second UV coordinates.
Flag used to mark a compressed bone array.
Flag used to mark a compressed (half float) weight array.
Flag used to mark a compressed index array.
Flag used to mark that the array contains 2D vertices.
Flag used to mark that the array uses 16-bit bones instead of 8-bit.
Flag used to mark that the array uses an octahedral representation of normal and tangent vectors rather than cartesian.
Flag used to request vertex cache optimization.
This re-orders indices in order to make best use of GPU vertex caches, which can improve rendering performance particularly with high poly models.
Used to set flags [constant ARRAY_COMPRESS_VERTEX], [constant ARRAY_COMPRESS_NORMAL], [constant ARRAY_COMPRESS_TANGENT], [constant ARRAY_COMPRESS_COLOR], [constant ARRAY_COMPRESS_TEX_UV], [constant ARRAY_COMPRESS_TEX_UV2], [constant ARRAY_COMPRESS_WEIGHTS], and [constant ARRAY_FLAG_USE_OCTAHEDRAL_COMPRESSION] quickly.
[b]Note:[/b] Since this flag enables [constant ARRAY_COMPRESS_COLOR], vertex colors will be stored as 8-bit unsigned integers. This will clamp overbright colors to [code]Color(1, 1, 1, 1)[/code] and reduce colors' precision.
Array of vertices.
Array of normals.
Array of tangents as an array of floats, 4 floats per tangent.
Array of colors.
Array of UV coordinates.
Array of second set of UV coordinates.
Array of bone data.
Array of weights.
Array of indices.
Represents the size of the [enum ArrayType] enum.