public void ForceNewMesh() { int meshIndex = _meshes.Count - 1; _meshes[meshIndex].usable = false; DynamicMeshGenericMultiMaterial newMesh = new DynamicMeshGenericMultiMaterial(); newMesh.name = name + " " + (meshIndex + 2); newMesh.subMeshCount = _subMeshCount; _meshes.Add(newMesh); meshIndex++; }
private int CheckMeshSize(int numberOfNewVerts) { int meshIndex = _meshes.Count-1; if(meshIndex<0)//check there is a mesh to begin with { DynamicMeshGenericMultiMaterial newMesh = new DynamicMeshGenericMultiMaterial(); newMesh.name = name + " " + (meshIndex + 2); newMesh.subMeshCount = _subMeshCount; _meshes.Add(newMesh); _vertexCount += numberOfNewVerts; return 0; } int newVertCount = numberOfNewVerts + _vertexCount - (meshIndex*65000); if (newVertCount >= 64990 || !_meshes[meshIndex].usable) { // Debug.Log("CheckMeshSize " + meshIndex); DynamicMeshGenericMultiMaterial newMesh = new DynamicMeshGenericMultiMaterial(); newMesh.name = name + " " + (meshIndex+2); newMesh.subMeshCount = _subMeshCount; _meshes.Add(newMesh); meshIndex++; } // if (newVertCount > 64990) Debug.Log(newVertCount + " " + numberOfNewVerts + " " + _vertexCount + " " + meshIndex+" "+(meshIndex*65000)); _vertexCount += numberOfNewVerts; return meshIndex; }