Właściwie to jeszcze nie zacząłem programować dla tego, ale chciałem zobaczyć, jak bym to zrobił.
Powiedzmy, że mam siatkę płytek, wszystkie tego samego rozmiaru, niektóre przechodzące, a niektóre nie. Jak miałbym zacząć tworzyć siatkę nawigacyjną wielokątów z tej siatki?
Moim pomysłem było wyciągnięcie nieobrotowych płytek i przedłużenie linii stamtąd krawędzi, aby stworzyć wielokąty ... to wszystko, co do tej pory mam. Jakakolwiek rada?
2d
mathematics
algorithm
navmesh
Ross Hays
źródło
źródło
Odpowiedzi:
Oto jedna z metod, które wymyśliłem, robiąc navmesh dla gry RTS. Pamiętaj, że jest to homebrew, nie użyto żadnych narzędzi innych firm, wdrożenie i poprawka zajęło mi około 3 tygodni:
Wynik:
źródło
Siatki są zwykle implementowane jako wykresy. Jeśli chcesz zaimplementować wyszukiwanie ścieżek na mapie opartej na siatce, wykonaj następujące czynności:
Utwórz wykres, w którym każdy kwadrat jest reprezentowany jako wierzchołek. Każda para sąsiednich kwadratów, które można przechodzić, reprezentowanych jako wierzchołki, będzie miała krawędź między nimi. I jesteś skończony.
źródło