public static void Triangulate(out Vector3[] vertices, out int[] indices)
        {
            NavMeshTriangulation navMeshTriangulation = NavMesh.CalculateTriangulation();

            vertices = navMeshTriangulation.vertices;
            indices  = navMeshTriangulation.indices;
        }
Example #2
0
        /// <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);
        }