void GenerateMesh() { MeshFilter[] meshFilters = GetComponentsInChildren <MeshFilter>(); MeshFilter[] Temp_ = new MeshFilter[0]; int VertCount = 0; int CominationCount = 0; string Name_ = "LOD_Far_Mesh"; for (int i = 0; i < meshFilters.Length; i++) { VertCount += meshFilters[i].GetComponent <MeshFilter>().sharedMesh.vertices.Length; if (VertCount < 65000) { Temp_ = DynamicArray.AddMeshFilterToArray(Temp_, meshFilters[i]); } else { CombineMeshes(Temp_, CominationCount++, Name_, 0); VertCount = 0; Temp_ = new MeshFilter[0]; Temp_ = DynamicArray.AddMeshFilterToArray(Temp_, meshFilters[i]); } } if (Temp_.Length > 0) { CombineMeshes(Temp_, CominationCount++, Name_, 0); } }
void GenerateBranch(MeshFilter[] meshFilters, int Id) { MeshFilter[] Temp_ = new MeshFilter[0]; int VertCount = 0; string Name_ = "Branch_LOD_Close_"; for (int i = 0; i < meshFilters.Length; i++) { VertCount += meshFilters[i].GetComponent <MeshFilter>().sharedMesh.vertices.Length; if (VertCount < 65000) { Temp_ = DynamicArray.AddMeshFilterToArray(Temp_, meshFilters[i]); } else { CombineMeshes(Temp_, Id, Name_, 1); VertCount = 0; Temp_ = new MeshFilter[i]; Temp_ = DynamicArray.AddMeshFilterToArray(Temp_, meshFilters[i]); } } if (Temp_.Length > 0) { CombineMeshes(Temp_, Id, Name_, 1); } }