MeshDataTool
继承
简要描述
用于访问和编辑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)
方法
返回值类型 | 方法名称 |
---|---|
void | clear() |
int | commit_to_surface(mesh: ArrayMesh) |
int | create_from_surface(mesh: ArrayMesh, surface: int) |
int | get_edge_count() const |
PoolIntArray | get_edge_faces(idx: int) const |
Variant | get_edge_meta(idx: int) const |
int | get_edge_vertex(idx: int, vertex: int) const |
int | get_face_count() const |
int | get_face_edge(idx: int, edge: int) const |
Variant | get_face_meta(idx: int) const |
Vector3 | get_face_normal(idx: int) const |
int | get_face_vertex(idx: int, vertex: int) const |
int | get_format() const |
Material | get_material() const |
Vector3 | get_vertex(idx: int) const |
PoolIntArray | get_vertex_bones(idx: int) const |
Color | get_vertex_color(idx: int) const |
int | get_vertex_count() const |
PoolIntArray | get_vertex_edges(idx: int) const |
PoolIntArray | get_vertex_faces(idx: int) const |
Variant | get_vertex_meta(idx: int) const |
Vector3 | get_vertex_normal(idx: int) const |
Plane | get_vertex_tangent(idx: int) const |
Vector2 | get_vertex_uv(idx: int) const |
Vector2 | get_vertex_uv2(idx: int) const |
PoolRealArray | get_vertex_weights(idx: int) const |
void | set_edge_meta(idx: int, meta: Variant) |
void | set_face_meta(idx: int, meta: Variant) |
void | set_material(material: Material) |
void | set_vertex(idx: int, vertex: Vector3) |
void | set_vertex_bones(idx: int, bones: PoolIntArray) |
void | set_vertex_color(idx: int, color: Color) |
void | set_vertex_meta(idx: int, meta: Variant) |
void | set_vertex_normal(idx: int, normal: Vector3) |
void | set_vertex_tangent(idx: int, tangent: Plane) |
void | set_vertex_uv(idx: int, uv: Vector2) |
void | set_vertex_uv2(idx: int, uv2: Vector2) |
void | set_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_TRIANGLES的Mesh。
- 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)
设置给定顶点的骨骼权重。