MeshDataTool

Inherits: Reference < Object

类别: 核心

简要说明

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

方法

无效

clear ( )

Error

commit_to_surface ( ArrayMesh mesh )

Error

create_from_surface ( ArrayMesh mesh, int surface )

int

get_edge_count ( ) const

PoolIntArray

get_edge_faces ( int idx ) const

Variant

get_edge_meta ( int idx ) const

int

get_edge_vertex ( int idx, int vertex ) const

int

get_face_count ( ) const

int

get_face_edge ( int idx, int edge ) const

Variant

get_face_meta ( int idx ) const

Vector3

get_face_normal ( int idx ) const

int

get_face_vertex ( int idx, int vertex ) const

int

get_format ( ) const

Material

get_material ( ) const

Vector3

get_vertex ( int idx ) const

PoolIntArray

get_vertex_bones ( int idx ) const

Color

get_vertex_color ( int idx ) const

int

get_vertex_count ( ) const

PoolIntArray

get_vertex_edges ( int idx ) const

PoolIntArray

get_vertex_faces ( int idx ) const

Variant

get_vertex_meta ( int idx ) const

Vector3

get_vertex_normal ( int idx ) const

Plane

get_vertex_tangent ( int idx ) const

Vector2

get_vertex_uv ( int idx ) const

Vector2

get_vertex_uv2 ( int idx ) const

PoolRealArray

get_vertex_weights ( int idx ) const

无效

set_edge_meta ( int idx, Variant meta )

无效

set_face_meta ( int idx, Variant meta )

无效

set_material ( Material material )

无效

set_vertex ( int idx, Vector3 vertex )

无效

set_vertex_bones ( int idx, PoolIntArray bones )

无效

set_vertex_color ( int idx, Color color )

无效

set_vertex_meta ( int idx, Variant meta )

无效

set_vertex_normal ( int idx, Vector3 normal )

无效

set_vertex_tangent ( int idx, Plane tangent )

无效

set_vertex_uv ( int idx, Vector2 uv )

无效

set_vertex_uv2 ( int idx, Vector2 uv2 )

无效

set_vertex_weights ( int idx, PoolRealArray weights )

描述

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 .

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

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

  • int get_edge_vertex ( int idx, int vertex ) const

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

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

  • int get_face_count ( ) const

返回此中的面数 Mesh .

  • int get_face_edge ( int idx, int edge ) const

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

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

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

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

  • int get_face_vertex ( int idx, int vertex ) const

返回给定面的指定顶点。

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

  • int get_format ( ) const

返回 Mesh 的格式。格式是由以下内容组成的整数 Mesh 格式标志组合在一起。例如,包含顶点和法线的网格将返回 3 因为 ArrayMesh.ARRAY_FORMAT_VERTEX1ArrayMesh.ARRAY_FORMAT_NORMAL2 .

ArrayFormat 格式标志列表。

返回分配给 Mesh .

返回给定索引处的顶点。

返回给定顶点的骨骼。

  • Color get_vertex_color ( int idx ) const

返回给定顶点的颜色。

  • int get_vertex_count ( ) const

返回中的顶点总数 Mesh .

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

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

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

返回给定顶点的法向。

  • Plane get_vertex_tangent ( int idx ) const

返回给定顶点的正切值。

返回给定顶点的UV。

返回给定顶点的uv2。

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

设置给定边缘的元数据。

设置给定面的元数据。

  • void set_material ( Material material )

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

设置给定顶点的位置。

设置给定顶点的骨骼。

  • void set_vertex_color ( int idx, Color color )

设置给定顶点的颜色。

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

  • void set_vertex_normal ( int idx, Vector3 normal )

设置给定顶点的法向。

  • void set_vertex_tangent ( int idx, Plane tangent )

设置给定顶点的切线。

设置给定顶点的UV。

设置给定顶点的uv2。

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