ImmediateMesh

继承: Mesh < Resource < RefCounted < Object

为手动创建几何体,而优化的网格。

描述

针对手动创建几何体优化的网格类型,与 OpenGL 1.x 的立即模式类似。

以下是生成三角形面的示例:

GDScriptC#

  1. var mesh = ImmediateMesh.new()
  2. mesh.surface_begin(Mesh.PRIMITIVE_TRIANGLES)
  3. mesh.surface_add_vertex(Vector3.LEFT)
  4. mesh.surface_add_vertex(Vector3.FORWARD)
  5. mesh.surface_add_vertex(Vector3.ZERO)
  6. mesh.surface_end()
  1. var mesh = new ImmediateMesh();
  2. mesh.SurfaceBegin(Mesh.PrimitiveType.Triangles);
  3. mesh.SurfaceAddVertex(Vector3.Left);
  4. mesh.SurfaceAddVertex(Vector3.Forward);
  5. mesh.SurfaceAddVertex(Vector3.Zero);
  6. mesh.SurfaceEnd();

注意:使用 ImmediateMesh 生成复杂的几何体极其低效。这种网格的设计目的是用来生成经常变化的简单几何体。

教程

方法

void

clear_surfaces ( )

void

surface_add_vertex ( Vector3 vertex )

void

surface_add_vertex_2d ( Vector2 vertex )

void

surface_begin ( PrimitiveType primitive, Material material=null )

void

surface_end ( )

void

surface_set_color ( Color color )

void

surface_set_normal ( Vector3 normal )

void

surface_set_tangent ( Plane tangent )

void

surface_set_uv ( Vector2 uv )

void

surface_set_uv2 ( Vector2 uv2 )


方法说明

void clear_surfaces ( )

清除所有表面。


void surface_add_vertex ( Vector3 vertex )

使用先前设置的当前属性,添加一个 3D 顶点。


void surface_add_vertex_2d ( Vector2 vertex )

使用先前设置的当前属性,添加一个 2D 顶点。


void surface_begin ( PrimitiveType primitive, Material material=null )

开始一个新的表面。


void surface_end ( )

结束并提交当前表面。请注意,在该函数被调用之前,创建的表面将不可见。


void surface_set_color ( Color color )

设置将与下一个顶点一起推送的颜色属性。


void surface_set_normal ( Vector3 normal )

设置将与下一个顶点一起推送的法线属性。


void surface_set_tangent ( Plane tangent )

设置将与下一个顶点一起推送的切线属性。


void surface_set_uv ( Vector2 uv )

设置将与下一个顶点一起推送的 UV 属性。


void surface_set_uv2 ( Vector2 uv2 )

设置将与下一个顶点一起推送的 UV2 属性。

Previous Next


© 版权所有 2014-present Juan Linietsky, Ariel Manzur and the Godot community (CC BY 3.0). Revision b1c660f7.

Built with Sphinx using a theme provided by Read the Docs.