MeshDataTool

Inherits: Reference < Object Mesh data.

Description

Mesh. It allows users to read and edit vertex data of meshes. It also creates an array of faces and edges. create_from_surface. When you are finished editing the data commit the data to a mesh with commit_to_surface. Below is an example of how MeshDataTool may be used.

  1. var mesh = ArrayMesh.new()mesh.add_surface_from_arrays(Mesh.PRIMITIVE_TRIANGLES, CubeMesh.new().get_mesh_arrays())var mdt = MeshDataTool.new()mdt.create_from_surface(mesh, 0)for i in range(mdt.get_vertex_count()): var vertex = mdt.get_vertex(i) # In this example we extend the mesh by one unit, which results in separated faces as it is flat shaded. vertex += mdt.get_vertex_normal(i) # Save your change. mdt.set_vertex(i, vertex)mesh.surface_remove(0)mdt.commit_to_surface(mesh)var mi = MeshInstance.new()mi.mesh = meshadd_child(mi)

ArrayMesh, ImmediateGeometry and SurfaceTool for procedural geometry generation. Note: Godot uses clockwise winding order for front faces of triangle primitive modes.

Methods

Method Descriptions

  • clear ( ) Clears all data currently in MeshDataTool.

  • Error commit_to_surface ( ArrayMesh mesh ) Mesh with edited data.

  • Error create_from_surface ( ArrayMesh mesh, int surface ) Mesh to populate data for MeshDataTool. Mesh with primitive type Mesh.PRIMITIVE_TRIANGLES.

  • int get_edge_count ( ) const Mesh.

  • PoolIntArray get_edge_faces ( int idx ) const Returns array of faces that touch given edge.

  • Variant get_edge_meta ( int idx ) const Returns meta information assigned to given edge.

  • int get_edge_vertex ( int idx, int vertex ) const Returns index of specified vertex connected to given edge. Vertex argument can only be 0 or 1 because edges are comprised of two vertices.

  • int get_face_count ( ) const Mesh.

  • int get_face_edge ( int idx, int edge ) const Returns specified edge associated with given face. Edge argument must be either 0, 1, or 2 because a face only has three edges.

  • Variant get_face_meta ( int idx ) const Returns the metadata associated with the given face.

  • Vector3 get_face_normal ( int idx ) const Calculates and returns the face normal of the given face.

  • int get_face_vertex ( int idx, int vertex ) const Returns the specified vertex of the given face. Vertex argument must be either 0, 1, or 2 because faces contain three vertices.

  • int get_format ( ) const Mesh‘s format. Format is an integer made up of Mesh format flags combined together. For example, a mesh containing both vertices and normals would return a format of 3 because ArrayMesh.ARRAY_FORMAT_VERTEX is 1 and ArrayMesh.ARRAY_FORMAT_NORMAL is 2. ArrayFormat for a list of format flags.

  • Material get_material ( ) const Mesh.

  • Vector3 get_vertex ( int idx ) const Returns the vertex at given index.

  • PoolIntArray get_vertex_bones ( int idx ) const Returns the bones of the given vertex.

  • Color get_vertex_color ( int idx ) const Returns the color of the given vertex.

  • int get_vertex_count ( ) const Mesh.

  • PoolIntArray get_vertex_edges ( int idx ) const Returns an array of edges that share the given vertex.

  • PoolIntArray get_vertex_faces ( int idx ) const Returns an array of faces that share the given vertex.

  • Variant get_vertex_meta ( int idx ) const Returns the metadata associated with the given vertex.

  • Vector3 get_vertex_normal ( int idx ) const Returns the normal of the given vertex.

  • Plane get_vertex_tangent ( int idx ) const Returns the tangent of the given vertex.

  • Vector2 get_vertex_uv ( int idx ) const Returns the UV of the given vertex.

  • Vector2 get_vertex_uv2 ( int idx ) const Returns the UV2 of the given vertex.

  • PoolRealArray get_vertex_weights ( int idx ) const Returns bone weights of the given vertex.

  • set_edge_meta ( int idx, Variant meta ) Sets the metadata of the given edge.

  • set_face_meta ( int idx, Variant meta ) Sets the metadata of the given face.

  • set_material ( Material material ) Mesh.

  • set_vertex ( int idx, Vector3 vertex ) Sets the position of the given vertex.

  • set_vertex_bones ( int idx, PoolIntArray bones ) Sets the bones of the given vertex.

  • set_vertex_color ( int idx, Color color ) Sets the color of the given vertex.

  • set_vertex_meta ( int idx, Variant meta ) Sets the metadata associated with the given vertex.

  • set_vertex_normal ( int idx, Vector3 normal ) Sets the normal of the given vertex.

  • set_vertex_tangent ( int idx, Plane tangent ) Sets the tangent of the given vertex.

  • set_vertex_uv ( int idx, Vector2 uv ) Sets the UV of the given vertex.

  • set_vertex_uv2 ( int idx, Vector2 uv2 ) Sets the UV2 of the given vertex.

  • set_vertex_weights ( int idx, PoolRealArray weights ) Sets the bone weights of the given vertex.