SurfaceTool
继承
简要描述
创建几何的帮助工具。
描述
SurfaceTool用于通过分别指定顶点属性来构造Mesh。
var st = SurfaceTool.new()
st.begin(Mesh.PRIMITIVE_TRIANGLES)
st.add_color(Color(1, 0, 0))
st.add_uv(Vector2(0, 0))
st.add_vertex(Vector3(0, 0, 0))
上面的SurfaceTool现在包含一个三角形的一个顶点,该三角形具有UV坐标和指定的Color。
顶点属性必须在调用add_vertex之前传递。
此外,在添加第一个顶点之前使用的属性决定了网格的格式。
方法
返回值类型 | 方法名称 |
---|---|
void | add_bones(bones: PoolIntArray) |
void | add_color(color: Color) |
void | add_index(index: int) |
void | add_normal(normal: Vector3) |
void | add_smooth_group(smooth: bool) |
void | add_tangent(tangent: Plane) |
void | add_triangle_fan(vertices: PoolVector3Array, uvs: PoolVector2Array = PoolVector2Array( ), colors: PoolColorArray = PoolColorArray( ), uv2s: PoolVector2Array = PoolVector2Array( ), normals: PoolVector3Array = PoolVector3Array( ), tangents: Array = []) |
void | add_uv(uv: Vector2) |
void | add_uv2(uv2: Vector2) |
void | add_vertex(vertex: Vector3) |
void | add_weights(weights: PoolRealArray) |
void | append_from(existing: Mesh, surface: int, transform: Transform) |
void | begin(primitive: int) |
void | clear() |
ArrayMesh | commit(existing: ArrayMesh = null, flags: int = 97280) |
Array | commit_to_arrays() |
void | create_from(existing: Mesh, surface: int) |
void | create_from_blend_shape(existing: Mesh, surface: int, blend_shape: String) |
void | deindex() |
void | generate_normals(flip: bool = false) |
void | generate_tangents() |
void | index() |
void | set_material(material: Material) |
方法说明
- add_bones add_bones(bones: PoolIntArray)
添加骨骼数组以供下一个顶点使用。
- add_color add_color(color: Color)
指定要下一个顶点要使用的Color。
- add_index add_index(index: int)
如果使用索引顶点,则将索引添加到索引数组。
- add_normal add_normal(normal: Vector3)
指定下一个要使用的顶点的法线。
- add_smooth_group add_smooth_group(smooth: bool)
指定当前顶点(如果仅使用顶点数组)或者当前索引(如果还使用索引数组)应使用平滑法线进行法线计算。
- add_tangent add_tangent(tangent: Plane)
指定下一个顶点要使用的切线。
- add_triangle_fan add_triangle_fan(vertices: PoolVector3Array, uvs: PoolVector2Array = PoolVector2Array( ), colors: PoolColorArray = PoolColorArray( ), uv2s: PoolVector2Array = PoolVector2Array( ), normals: PoolVector3Array = PoolVector3Array( ), tangents: Array = [])
将由阵列数据制成的三角形扇插入正在构造的Mesh中。
要求将基本类型设置为Mesh.PRIMITIVE_TRIANGLES。
- add_uv add_uv(uv: Vector2)
指定用于下一个顶点的一组UV坐标。
- add_uv2 add_uv2(uv2: Vector2)
指定用于下一个顶点的可选第二组UV坐标。
- add_vertex add_vertex(vertex: Vector3)
指定当前顶点的位置。
- add_weights add_weights(weights: PoolRealArray)
指定下一个顶点要使用的权重值。
- append_from append_from(existing: Mesh, surface: int, transform: Transform)
使用指定的Transform将给定Mesh曲面上的顶点附加到当前顶点阵列上。
- begin begin(primitive: int)
在添加任何顶点之前调用。
- clear clear()
清除到目前为止传递到曲面工具的所有信息。
- commit commit(existing: ArrayMesh = null, flags: int = 97280)
从传入的当前信息返回一个构造的ArrayMesh。如果将现有的ArrayMesh作为参数传入,则会为现有的ArrayMesh添加一个额外的表面。
默认标志是Mesh.ARRAY_COMPRESS_DEFAULT。
- commit_to_arrays commit_to_arrays()
将数据提交为ArrayMesh.add_surface_from_arrays使用的相同格式。
- create_from create_from(existing: Mesh, surface: int)
从现有的Mesh创建一个顶点数组。
- create_from_blend_shape create_from_blend_shape(existing: Mesh, surface: int, blend_shape: String)
根据现有Mesh的指定混合形状创建顶点数组。
- deindex deindex()
通过扩展顶点数组来删除索引数组。
- generate_normals generate_normals(flip: bool = false)
从顶点生成法线,因此您不必手动进行。
需要将图元类型设置为Mesh.PRIMITIVE_TRIANGLES。
- generate_tangents generate_tangents()
为每个顶点生成一个切向量。
- index index()
通过创建索引数组来缩小顶点数组(避免重用顶点)。
- set_material set_material(material: Material)