MeshDataTool¶
类别: 核心
方法¶
描述¶
meshdatatool提供对 Mesh . 它允许用户读取和编辑网格的顶点数据。它还创建面和边的数组。
要使用meshdatatool,请使用 create_from_surface . 完成数据编辑后,将数据提交到网格 commit_to_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)
方法说明¶
void clear ( )
清除当前在meshdatatool中的所有数据。
将新曲面添加到指定的 Mesh 有编辑过的数据。
使用给定的指定表面 Mesh 为meshdatatool填充数据。
要求 Mesh 具有基元类型 Mesh.PRIMITIVE_TRIANGLES .
int get_edge_count ( ) const
返回此中的边数 Mesh .
PoolIntArray get_edge_faces ( int idx ) const
返回接触给定边的面数组。
返回分配给给定边缘的元信息。
返回连接到给定边的指定顶点的索引。
顶点参数只能是0或1,因为边由两个顶点组成。
int get_face_count ( ) const
返回此中的面数 Mesh .
返回与给定面关联的指定边。
边参数必须小于或等于2,因为面只有三条边。
返回与给定面关联的元数据。
计算并返回给定面的面法向。
返回给定面的指定顶点。
顶点参数必须小于等于2,因为面包含三个顶点。
int get_format ( ) const
返回 Mesh 的格式。格式是由以下内容组成的整数 Mesh 格式标志组合在一起。例如,包含顶点和法线的网格将返回 3
因为 ArrayMesh.ARRAY_FORMAT_VERTEX 是 1
和 ArrayMesh.ARRAY_FORMAT_NORMAL 是 2
.
见 ArrayFormat 格式标志列表。
Material get_material ( ) const
返回分配给 Mesh .
返回给定索引处的顶点。
PoolIntArray get_vertex_bones ( int idx ) const
返回给定顶点的骨骼。
返回给定顶点的颜色。
int get_vertex_count ( ) const
返回中的顶点总数 Mesh .
PoolIntArray get_vertex_edges ( int idx ) const
返回共享给定顶点的边数组。
PoolIntArray get_vertex_faces ( int idx ) const
返回共享给定顶点的面数组。
返回与给定顶点关联的元数据。
返回给定顶点的法向。
返回给定顶点的正切值。
返回给定顶点的UV。
返回给定顶点的uv2。
PoolRealArray get_vertex_weights ( int idx ) const
返回给定顶点的骨骼权重。
设置给定边缘的元数据。
设置给定面的元数据。
void set_material ( Material material )
设置新构造使用的材质 Mesh .
设置给定顶点的位置。
void set_vertex_bones ( int idx, PoolIntArray bones )
设置给定顶点的骨骼。
设置给定顶点的颜色。
设置与给定顶点关联的元数据。
设置给定顶点的法向。
设置给定顶点的切线。
设置给定顶点的UV。
设置给定顶点的uv2。
void set_vertex_weights ( int idx, PoolRealArray weights )
设置给定顶点的骨骼权重。