Panel Logowania

Navigation Mesh

napisał : CacholaPL
30
grudnia
2013
Navigation Mesh, czyli jak zmusić obiekt, aby podążał za innym obiektem omijając przeszkody terenu. Dzięki takiemu zabiegowi, mamy podstawy sztucznej inteligencji(AI)
tagi : AI Navigation Mesh Seek sztuczna inteligencja śledzenie

Navigation Mesh to specjalnego rodzaju siatka obiektu, dzięki której obiekt podążający za innym obiektem lub śledzący inny obiekt, nie zatrzymuje się na przeszkodach tylko skutecznie go omija, kontynuując podążanie/śledzenie.

Więc zacznijmy ! Dodałem podstawowego Cube, Plane i Sphere. Cube będzie podążać do celu czyli Sphere będzie ustalonym przez nas obiektem. Plane'a musimy trochę po-modyfikować w trybie Edit Mode, tak żeby po środku powstała przeszkoda(W -> Subdivide, a później wybierz kilka face'ów ze środka i Extrude).

Taki układ kostek logiki zna ( chyba ) każdy. Owszem, Cube będzie podążać do Sphere, ale zatrzyma się w ścianie, dlaczego ? Bo porusza się tylko w jednej osi, porusza się w jednej osi, ponieważ pole "Navigation Mesh" jest puste . Musimy dla niego utworzyć obiekt typu Navigation mesh.

Zaznaczamy mesha, z którego ma się zrobić Navigation Mesh, w tym wypadku, będzie to Plane

Klikamy, więc w zaznaczony przycisk w panelu po prawej:

Teraz rozwijamy menu Navigation Mesh i klikamy przycisk "Bulid Navigation Mesh"


Pojawi na się nowy obiekt o nazwie Navmesh, a Blender automatycznie ustawi jej typ fizyki "Navigation Mesh". W trybie Texture wygląda jakby nie miała materiału, w trybie Soild jest ona kolorowa

Teraz w kostkach logiki Cube'a ustawiamy w Acuatorze "Steering", w polu "Navigation Mesh", właśnie ten obiekt, który przed chwilą został utworzony:

Teraz Cube będzie w stanie poruszać się omijając przeszkody, dochodząc do Sphere. Ponieważ "Navmesh" jest też zwykłym meshem, możemy go zmieniać dobrowolnie.

9 komentarzy
Karricjusz napisał :
godz. 14:28, 30 grudnia 2013
Navigation Mesh nie działa przypadkiem tylko z "Path following"? A przynajmniej, tak mi się wydaje, że z "Seek" średnio wychodzi :)
CacholaPL napisał :
godz. 14:30, 30 grudnia 2013
Faktycznie, mój błąd, chociaż s Seek też działa, ale jednak
Fyex napisał :
godz. 20:48, 2 stycznia 2014
Jakoś nie może mi to zadziałać poprawnie (obiekt goniący nie omija ścian...)
CacholaPL napisał :
godz. 22:24, 2 stycznia 2014
Upewnij się, że ustawiłeś w Navigation Mesh, ustawiłeś "navmesh", możesz też spróbować z "Path following"
maniek napisał :
godz. 22:25, 2 stycznia 2014
Może coś więcej?? jakiś plik posiadasz?? Czy mamy wróżyć z fusów??
Fyex napisał :
godz. 18:14, 7 stycznia 2014
Przepraszam ^^.
Problem jest w tym że gdy zatrzymam się za ścianą np tak:
http://iv.pl/images/91078938852149634683.jpg

to "cube" nie omija przeszkody na około tylko patrzy się we mnie błędnie :CCCC

Link: http://www.speedyshare.com/ZHjhc/problem.blend
CacholaPL napisał :
godz. 18:37, 7 stycznia 2014
Próbowałem wszystkich kombinacji, nic z tego, nie wiem w czym leży problem, może inni spróbują to rozwiązać ?
maniek napisał :
godz. 23:02, 7 stycznia 2014
Moim zdanie dałeś za szczegółową siatkę, a nie sądzę żeby ta funkcja w BGE od razu działała idealnie, tym bardziej że to nowa funkcjonalność.. Będziesz musiał się pobawić w ręczną edycję siatki Navmesh, bo ta automatycznie zbudowana zawiera dziury ;)
maniek napisał :
godz. 23:08, 7 stycznia 2014
Ale w tym pliku coś mi wyszło... siatka jest bardziej ogarnięta i to z automatu.. U ciebie jest jakaś poszarpana ;/
http://speedy.sh/ubaTp/nav.blend
Dodaj komentarz
Aby dodać komentarz do newsa, musisz być zalogowany w Serwisie.. Zaloguj