跳到主要内容

MeshDataTool

继承

Reference

简要描述

用于访问和编辑Mesh数据的助手工具。

描述

MeshDataTool提供对Mesh中各个顶点的访问。

要使用MeshDataTool,请使用create_from_surface加载网格。

以下是如何使用MeshDataTool的示例。

var mdt = MeshDataTool.new()
mdt.create_from_surface(mesh, 0)
for i in range(mdt.get_vertex_count()):
var vertex = mdt.get_vertex(i)
...
mdt.set_vertex(i, vertex)
mesh.surface_remove(0)
mdt.commit_to_surface(mesh)

方法

返回值类型方法名称
voidclear()
intcommit_to_surface(mesh: ArrayMesh)
intcreate_from_surface(mesh: ArrayMesh, surface: int)
intget_edge_count() const
PoolIntArrayget_edge_faces(idx: int) const
Variantget_edge_meta(idx: int) const
intget_edge_vertex(idx: int, vertex: int) const
intget_face_count() const
intget_face_edge(idx: int, edge: int) const
Variantget_face_meta(idx: int) const
Vector3get_face_normal(idx: int) const
intget_face_vertex(idx: int, vertex: int) const
intget_format() const
Materialget_material() const
Vector3get_vertex(idx: int) const
PoolIntArrayget_vertex_bones(idx: int) const
Colorget_vertex_color(idx: int) const
intget_vertex_count() const
PoolIntArrayget_vertex_edges(idx: int) const
PoolIntArrayget_vertex_faces(idx: int) const
Variantget_vertex_meta(idx: int) const
Vector3get_vertex_normal(idx: int) const
Planeget_vertex_tangent(idx: int) const
Vector2get_vertex_uv(idx: int) const
Vector2get_vertex_uv2(idx: int) const
PoolRealArrayget_vertex_weights(idx: int) const
voidset_edge_meta(idx: int, meta: Variant)
voidset_face_meta(idx: int, meta: Variant)
voidset_material(material: Material)
voidset_vertex(idx: int, vertex: Vector3)
voidset_vertex_bones(idx: int, bones: PoolIntArray)
voidset_vertex_color(idx: int, color: Color)
voidset_vertex_meta(idx: int, meta: Variant)
voidset_vertex_normal(idx: int, normal: Vector3)
voidset_vertex_tangent(idx: int, tangent: Plane)
voidset_vertex_uv(idx: int, uv: Vector2)
voidset_vertex_uv2(idx: int, uv2: Vector2)
voidset_vertex_weights(idx: int, weights: PoolRealArray)

方法说明

  • clear clear()

清除当前在MeshDataTool中的所有数据。


  • commit_to_surface commit_to_surface(mesh: ArrayMesh)

将具有编辑数据的新曲面添加到指定的Mesh


  • create_from_surface create_from_surface(mesh: ArrayMesh, surface: int)

使用给定Mesh的指定表面填充MeshDataTool的数据。

需要基本类型为Mesh.PRIMITIVE_TRIANGLESMesh


  • get_edge_count get_edge_count() const

返回此Mesh中的边数。


  • get_edge_faces get_edge_faces(idx: int) const

返回接触给定边缘的面数组。


  • get_edge_meta get_edge_meta(idx: int) const

返回分配给给定边的元信息。


  • get_edge_vertex get_edge_vertex(idx: int, vertex: int) const

返回连接到给定边的指定顶点的索引。

顶点参数只能是0或1,因为边由两个顶点组成。


  • get_face_count get_face_count() const

返回此Mesh中的面数。


  • get_face_edge get_face_edge(idx: int, edge: int) const

返回与给定面关联的指定边。

边参数必须等于或小于2,因为一个面只有三个边。


  • get_face_meta get_face_meta(idx: int) const

返回与给定表面关联的元数据。


  • get_face_normal get_face_normal(idx: int) const

计算并返回给定面的面法线。


  • get_face_vertex get_face_vertex(idx: int, vertex: int) const

返回给定面的指定顶点。

顶点参数必须为2或更小,因为面包含三个顶点。


  • get_format get_format() const

返回Mesh的格式。

有关格式标志的列表,请参见ArrayMesh.ArrayFormat


  • get_material get_material() const

返回分配给Mesh的材质。


  • get_vertex get_vertex(idx: int) const

返回给定索引处的顶点。


  • get_vertex_bones get_vertex_bones(idx: int) const

返回给定顶点的骨骼。


  • get_vertex_color get_vertex_color(idx: int) const

返回给定顶点的颜色。


  • get_vertex_count get_vertex_count() const

返回Mesh中的顶点总数。


  • get_vertex_edges get_vertex_edges(idx: int) const

返回共享给定顶点的边数组。


  • get_vertex_faces get_vertex_faces(idx: int) const

返回共享给定顶点的面数组。


  • get_vertex_meta get_vertex_meta(idx: int) const

返回与给定顶点关联的元数据。


  • get_vertex_normal get_vertex_normal(idx: int) const

返回给定顶点的法线。


  • get_vertex_tangent get_vertex_tangent(idx: int) const

返回给定顶点的切线。


  • get_vertex_uv get_vertex_uv(idx: int) const

返回给定顶点的UV。


  • get_vertex_uv2 get_vertex_uv2(idx: int) const

返回给定顶点的UV2。


  • get_vertex_weights get_vertex_weights(idx: int) const

返回给定顶点的骨骼权重。


  • set_edge_meta set_edge_meta(idx: int, meta: Variant)

设置给定边的元数据。


  • set_face_meta set_face_meta(idx: int, meta: Variant)

设置给定面孔的元数据。


  • set_material set_material(material: Material)

设置新构造的Mesh使用的材质。


  • set_vertex set_vertex(idx: int, vertex: Vector3)

设置给定顶点的位置。


  • set_vertex_bones set_vertex_bones(idx: int, bones: PoolIntArray)

设置给定顶点的骨骼。


  • set_vertex_color set_vertex_color(idx: int, color: Color)

设置给定顶点的颜色。


  • set_vertex_meta set_vertex_meta(idx: int, meta: Variant)

设置与给定顶点关联的元数据。


  • set_vertex_normal set_vertex_normal(idx: int, normal: Vector3)

设置给定顶点的法线。


  • set_vertex_tangent set_vertex_tangent(idx: int, tangent: Plane)

设置给定顶点的切线。


  • set_vertex_uv set_vertex_uv(idx: int, uv: Vector2)

设置给定顶点的UV。


  • set_vertex_uv2 set_vertex_uv2(idx: int, uv2: Vector2)

设置给定顶点的UV2。


  • set_vertex_weights set_vertex_weights(idx: int, weights: PoolRealArray)

设置给定顶点的骨骼权重。