void CreateMapFloor(Rect mapRect) { Mesh floorMesh = _floor.GetComponent <MeshFilter>().mesh; floorMesh.Clear(); CustomMesh floorMeshData = new CustomMesh(Mathf.CeilToInt(mapRect.width) + 250, Mathf.CeilToInt(mapRect.height) + 250, Mathf.CeilToInt((10.0f / 500.0f) * Mathf.Max(mapRect.width, mapRect.height)), borderSize); floorMeshData.Generate(); floorMesh.vertices = floorMeshData.getVertices(); floorMesh.triangles = floorMeshData.getTriangles(); floorMesh.uv = floorMeshData.getUVs(); MeshCollider floorCollider = _floor.AddComponent <MeshCollider>(); floorCollider.sharedMesh = floorMesh; _floor.transform.position = new Vector3(mapRect.center.x - floorMeshData.width / 2, 0, mapRect.center.y - floorMeshData.height / 2); }