How to use materials on ArrayMesh?

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

I have two MeshInstances. First with CubeMesh and second with ArrayMesh. I assigned water material on cube and for ArrayMesh(triangle) i have this code:

var vertices = PoolVector3Array()
vertices.push_back(Vector3(0,0,0))
vertices.push_back(Vector3(0,1,0))
vertices.push_back(Vector3(1,0,0))
var arr_mesh = ArrayMesh.new()
var arrays = []
arrays.resize(ArrayMesh.ARRAY_MAX)
arrays[ArrayMesh.ARRAY_VERTEX] = vertices
arr_mesh.add_surface_from_arrays(Mesh.PRIMITIVE_TRIANGLES, arrays)
var id = arr_mesh.get_surface_count() - 1
arr_mesh.surface_set_material(id, material)
self.mesh = arr_mesh

This happens:

How can I make the triangle looks like the cube?