private void BuildThisMesh()
{
mesh.Clear();
mesh.vertices = vertices.ToArray();
mesh.uv = uv.ToArray();
mesh.uv2 = new Vector2[0];
mesh.tangents = tangents.ToArray();
mesh.bounds = bounds;
mesh.subMeshCount = 0;//set base submesh count to 1 so we can get started
_subMeshes = 0;
foreach (KeyValuePair<int, List<int>> triData in subTriangles)
{
int submeshNumber = triData.Key;
if (_subMeshes <= submeshNumber)//increase the submesh count if it exceeds the current count
{
_subMeshes = submeshNumber + 1;
mesh.subMeshCount = submeshNumber + 1;
}
mesh.SetTriangles(triData.Value.ToArray(), submeshNumber);
}
mesh.RecalculateBounds();
// if (_shouldCalculateNormals)
mesh.RecalculateNormals();
}