Welche Heuristiken verwenden Programmierer bei der A * -Pfadfindung für NavMeshes?
NavMesh = Navigationsnetz, eine Art der Pfadfindung, bei der Netze anstelle von Wegpunkten verwendet werden.
Welche Heuristiken verwenden Programmierer bei der A * -Pfadfindung für NavMeshes?
NavMesh = Navigationsnetz, eine Art der Pfadfindung, bei der Netze anstelle von Wegpunkten verwendet werden.
Antworten:
Treffen Sie Ihre Wahl:
http://theory.stanford.edu/~amitp/GameProgramming/Heuristics.html
In diesem Link wird eine Vielzahl von Heuristiken beschrieben, entweder aus Gründen der Geschwindigkeit oder der Genauigkeit. Es gibt immer einen Kompromiss, daher würde ich davon ausgehen, dass Entwickler die genaueste Heuristik verwenden, die die Leistung ihres Spiels nur minimal beeinträchtigt.
Eine sehr, sehr grobe (aber sehr schnelle) Heuristik ist: (Manhattan Entfernung)
vec1 = start vector
vec2 = end vector
heuristic = abs(vec2.x - vec1.x) + abs(vec2.y - vec1.y))
Dies vermeidet jegliche quadratische Wurzelbildung, die kostspielig sein könnte (pythagoreische Entfernung).