As malhas de navegação são uma melhoria qualitativa em relação aos gráficos de waypoints, da mesma forma que A * é uma progressão natural sobre o algoritmo de Dijkstra. Em cada caso, o primeiro evoluiu devido às deficiências do último e é um algoritmo inteiramente mais útil para a maioria das aplicações. A deficiência é, obviamente, a complexidade (tempo e / ou espaço). Mas eu teria que dizer que a troca é pequena para malhas de navegação versus gráficos de waypoints (ou seja, a complexidade computacional pode aumentar, mas não por uma ordem de magnitude).
O único benefício prático do uso de gráficos de waypoint é onde você realmente deseja restringir o movimento às linhas exatas, e não às áreas. Gráficos de waypoint = pontos e linhas infinitesimais, enquanto malhas de navegação são praticamente a mesma coisa apenas com áreas poligonais (convexas) anexadas que descrevem um espaço válido considerado "o território desta célula". De qualquer maneira, você está interpolando a posição de uma entidade de IA de um nó para outro; a única diferença com navmeshes é que você está fazendo isso de um local de pontos para outro, enquanto que com gráficos de waypoints você está fazendo isso de um ponto para outro, e potencialmente dando a devida consideração à borda que separa os nós A e B. E é claro da perspectiva da complexidade, é fácil ver que os gráficos de waypoints são moderadamente mais baratos de operar.
Com o passar do tempo, as melhorias vêm aparentemente "de graça" (da perspectiva individual). É por isso que um computador que você compra hoje por US $ X é muitas vezes mais rápido que um computador que você poderia comprar há dez anos pelo mesmo preço. O ponto é que não é realmente gratuito - alguém, em algum lugar, investiu em pesquisa e desenvolvimento nisso. Mesmo com algoritmos. E é por isso que a tecnologia mais antiga cai na esquina.