Docs: MeshDataTool: showcase tool in code example
(cherry picked from commit 4f9b993423
)
This commit is contained in:
parent
728200a10b
commit
18d65673af
1 changed files with 8 additions and 1 deletions
|
@ -8,14 +8,21 @@
|
|||
To use MeshDataTool, load a mesh with [method create_from_surface]. When you are finished editing the data commit the data to a mesh with [method commit_to_surface].
|
||||
Below is an example of how MeshDataTool may be used.
|
||||
[codeblock]
|
||||
var mesh = ArrayMesh.new()
|
||||
mesh.add_surface_from_arrays(Mesh.PRIMITIVE_TRIANGLES, CubeMesh.new().get_mesh_arrays())
|
||||
var mdt = MeshDataTool.new()
|
||||
mdt.create_from_surface(mesh, 0)
|
||||
for i in range(mdt.get_vertex_count()):
|
||||
var vertex = mdt.get_vertex(i)
|
||||
...
|
||||
# In this example we extend the mesh by one unit, which results in seperated faces as it is flat shaded.
|
||||
vertex += mdt.get_vertex_normal(i)
|
||||
# Save your change.
|
||||
mdt.set_vertex(i, vertex)
|
||||
mesh.surface_remove(0)
|
||||
mdt.commit_to_surface(mesh)
|
||||
var mi = MeshInstance.new()
|
||||
mi.mesh = mesh
|
||||
add_child(mi)
|
||||
[/codeblock]
|
||||
See also [ArrayMesh], [ImmediateGeometry] and [SurfaceTool] for procedural geometry generation.
|
||||
[b]Note:[/b] Godot uses clockwise [url=https://learnopengl.com/Advanced-OpenGL/Face-culling]winding order[/url] for front faces of triangle primitive modes.
|
||||
|
|
Loading…
Reference in a new issue