Siatka nawigacji
Siatka nawigacyjna lub navmesh to abstrakcyjna struktura danych używana w aplikacjach sztucznej inteligencji , aby pomóc agentom w wyszukiwaniu ścieżek w skomplikowanych przestrzeniach. Podejście to było znane co najmniej od połowy lat 80. w robotyce , gdzie zostało nazwane mapą łąki i zostało spopularyzowane w sztucznej inteligencji gier wideo w 2000 roku.
Opis
Siatka nawigacyjna to zbiór dwuwymiarowych wypukłych wielokątów ( siatka wielokątów ), które określają, które obszary środowiska są dostępne dla agentów. Innymi słowy, postać w grze może swobodnie poruszać się po tych obszarach bez przeszkód przez drzewa, lawę lub inne bariery będące częścią otoczenia. Sąsiednie wielokąty są połączone ze sobą w grafie .
Znalezienie ścieżki w jednym z tych wielokątów można wykonać w prosty sposób w linii prostej, ponieważ wielokąt jest wypukły i można go przebyć. Znajdowanie ścieżek między wielokątami w siatce można wykonać za pomocą jednego z wielu wyszukiwania grafów , takich jak A* . Agenci w navmesh mogą w ten sposób uniknąć kosztownych obliczeniowo wykrywania kolizji z przeszkodami, które są częścią środowiska.
Przedstawienie obszarów, po których można się poruszać, w formie podobnej do 2D, upraszcza obliczenia, które w przeciwnym razie musiałyby być wykonane w „prawdziwym” środowisku 3D, jednak w przeciwieństwie do siatki 2D pozwala na obszary, po których można się poruszać, które nakładają się powyżej i poniżej na różnych wysokościach. Wielokąty o różnych rozmiarach i kształtach w siatkach nawigacyjnych mogą reprezentować dowolne środowiska z większą dokładnością niż zwykłe siatki.
kreacja
Siatki nawigacyjne można tworzyć ręcznie, automatycznie lub za pomocą kombinacji tych dwóch metod. W grach wideo projektant poziomów może ręcznie zdefiniować wielokąty navmesh w edytorze poziomów . Takie podejście może być dość pracochłonne. Alternatywnie można utworzyć aplikację, która pobiera geometrię poziomu jako dane wejściowe i automatycznie generuje navmesh.
Powszechnie przyjmuje się, że środowisko reprezentowane przez navmesh jest statyczne – nie zmienia się w czasie – dlatego navmesh może być tworzony offline i niezmienny. Jednak przeprowadzono badania dotyczące aktualizacji sieci navmesh w trybie online dla środowisk dynamicznych.
Historia
W robotyce używanie połączonych wypukłych wielokątów w ten sposób zostało nazwane „ mapowaniem łąki ”, ukutym w raporcie technicznym Ronalda C. Arkina z 1986 roku .
Siatki nawigacyjne w sztucznej inteligencji gier wideo są zwykle przypisywane artykułowi Grega Snooka z 2000 r. „Uproszczony ruch 3D i wyszukiwanie ścieżek za pomocą siatek nawigacyjnych” w Game Programming Gems . W 2001 roku JMP van Waveren opisał podobną strukturę z wypukłymi i połączonymi wielokątami 3D, nazwaną „Area Awareness System”, używaną przez boty w Quake III Arena .
Notatki
-
Arkin, Ronald C. (1986). „Planowanie ścieżki autonomicznego robota wizyjnego” (PDF) (raport techniczny). Uniwersytet Massachusetts.
{{ cite journal }}
: Cite journal wymaga|journal=
( pomoc ) - Marka, Sandy (2009). Skuteczne omijanie przeszkód z wykorzystaniem autonomicznie generowanych siatek nawigacyjnych (PDF) (praca magisterska). Uniwersytet Technologiczny w Delft . Źródło 2015-06-09 .
- Golodec, Stuart (październik 2013). „Automatyczne generowanie siatki nawigacji w przestrzeni konfiguracyjnej” . Przeciążenie . ACCU. 117 .
- Snook, Greg (2000). „Uproszczony ruch 3D i odnajdywanie ścieżek przy użyciu siatek nawigacyjnych” . W DeLoura, Mark (red.). Klejnoty programowania gier . Media Charlesa Rivera. s. 288–304. ISBN 1-58450-049-2 .
- Tozour, Paweł (2002). „Budowanie niemal optymalnej siatki nawigacyjnej” . W Rabin, Steve (red.). Mądrość programowania gier AI . Media Charlesa Rivera. s. 171 –185. ISBN 1-58450-077-8 .
- Van Toll, Wouter G.; Kucharz IV, Atlas F.; Geraerts, Roland (2012). „Siatka nawigacyjna dla środowisk dynamicznych” (PDF) . Animacja komputerowa i światy wirtualne . John Wiley & Synowie. 23 (6): 535–546. doi : 10.1002/cav.1468 . S2CID 2996937 . Źródło 2015-06-09 .
- van Waveren, JMP (2001-01-28). Bot Quake III Arena (PDF) (praca magisterska). Politechnika w Delft.