I am trying to do a simple script to generate a plane from a script by creating a new mesh. After trying it, it seems like some of the triangles aren't showing up. I checked if they were in the list by making it publci and they are in it, so I dont understand why the last triangles aren't showing while the others are.
int size = 4;
Mesh meshy;
public List<Vector3> vert = new List<Vector3>();
public List<Vector2> uv = new List<Vector2>();
public List<int> tri = new List<int>();
void Start()
{
vert = new List<Vector3>();
tri = new List<int>();
meshy = new Mesh();
for (int x = 0; x < size; x++)
{
for(int z = 0; z < size; z++)
{
vert.Add(new Vector3(x, 0, z));
}
}
meshy.vertices = vert.ToArray();
for (int i = 0; i < ((size-1)*(size-1));i++)
{
tri.Add(i);
tri.Add(i+1);
tri.Add(i+size);
tri.Add(i + size +1);
tri.Add(i + 1 +(size - 1));
tri.Add(i + 1);
}
meshy.triangles = tri.ToArray();
for(int i = 0; i < ((size - 1) * (size - 1)); i++)
{
uv.Add(new Vector2(0, 0));
uv.Add(new Vector2(1, 0));
uv.Add(new Vector2(0, 1));
uv.Add(new Vector2(1, 1));
}
meshy.uv = uv.ToArray();
GetComponent<MeshFilter>().mesh = meshy;
}