Ruch uliczny w GTA


#1

Cześć!

Tak się zastanawiam, w jaki sposób mogli zrobić to programiści Rockstara? Tzn, że ludzie spawnują się w konkretnych miejscach, nie na ulicach, nie w budynkach, tylko zawsze na chodnikach. Niewidzialna linia i coś ala funkcja promienia? Tak samo samochody, zawsze na ulicach. No i wszystko zależne od pozycji gracza. Jak myślicie?

[EDIT]
Próbuję stworzyć prostą gierkę w Unity3D, która w głównej mierze opiera się na ruchu ulicznym i przechodniach, dlatego wszelkie pomysły i rady mile widziane :slight_smile:
[/EDIT]


#2

Przypuszczam że zdefiniowali kilka rodzajów terenu, i spawny konkretnych obiektów są możliwe tylko na sprecyzowanym typie terenu. Polecam zerknąć na projekt A* Pathfinding Granberga (w wersji free, wujek Google pomoże), w jednej ze scen przykładowych są zdefiniowane 3 typy terenów - jeden bot może przemieszczać się tylko po pierwszym typie od punktu A do B, drugi może po pierwszym i po drugim, ale “woli” na ten drugi nie wchodzić (chyba że droga naokoło jest zbyt długa). Trzeci typ terenu jest ogólnie niedostępny.

Inne wykorzystanie poruszonego przez ciebie zagadnienia, warto sprawdzić :wink:


#3

W Unity masz coś takiego jak LayerMask i w skrypcie możesz ustalić na jakiej warstwie ludzie będą się spawnować a w zależności od odległości gracza to wystarczy sprawdzać dystans pomiędzy graczem a konkretnym miejscem :wink:


#4

Dzięki Panowie! :smiley: A co do samochodów, to w GTA zawsze jeździły “w kółko”. Pamiętam, bo jako dziecko już mnie to ciekawiło, dlatego parę razy jeździłem za różnymi samochodami. GTA 3 i VC były pisane w LUA, czy mi się wydaje?


#5

Możliwe. Ale jak chcesz się pobawić i być “lepszy” to możesz napisać skrypt, który będzie wyznaczał kolejne cele takich obiektów po dotarciu do poprzedniego (i losował czy ma zaparkować cz nie) - wtedy za każdym razem będą jechały zupełnie inaczej :slight_smile:


#6

Luzik luzik, ogarniam na tyle :stuck_out_tongue: Tzn logikę +/- sobie ułożę, ale przyszło mi do głowy, że przecież nic nie stracę jak zajrzę do skryptu z GTA :smiley: Zajeżdża Pascalem, więc pewno LUA