Best way to create procedural plane

:information_source: Attention Topic was automatically imported from the old Question2Answer platform.
:bust_in_silhouette: Asked By camarones

I am trying to create a plane that is procedurally generated at runtime and which I can then modify during the game. (Basically a little heightmap, with level data stored in a 100x100 array.)

I started using an ImmediateGeometry node, but I can’t access or modify the vertices in the mesh, so every time I modify the array I have to regenerate the entire plane. If I modified every vertex every frame the FPS dropped to 7-10.

Then I tried using a MeshInstance node and SurfaceTool.new(), which seems to be more flexible, but it takes about 10 seconds to generate the 100x100 mesh! I also see that there is a MeshDataTool that appears to do a similar thing.

I am a bit bewildered by all the Godot 3D stuff. There seem to be 3 nodes for everything, but each one works in a different way and requires a different approach. What is best method for this situation?

:bust_in_silhouette: Reply From: Calinou

Try using ArrayMesh, which is the fastest solution for static geometry according to the documentation.