public static void Triangulate(out Vector3[] vertices, out int[] indices) { NavMeshTriangulation navMeshTriangulation = NavMesh.CalculateTriangulation(); vertices = navMeshTriangulation.vertices; indices = navMeshTriangulation.indices; }
/// <summary> /// Triangulate and return a mesh based on every NavMesh currently loaded. /// Unity's triangulation system is very broken, so triangulation works correctly only for flat NavMeshes (no slopes). /// </summary> public Mesh GetMesh() { NavMeshTriangulation navTriangulation = NavMesh.CalculateTriangulation(); Mesh output = new Mesh(); output.name = "NavMeshTriangulated"; output.vertices = navTriangulation.vertices; output.triangles = navTriangulation.indices; return(output); }