[C++/OpenGl] Tworzenie mapki w prostej grze


(Vion91) #1

Witam

muszę stworzyć prostą grę 3D na zaliczenie. Wymyśliłem sobie, że będzie to prosta samochodówka typu: samochód stoi w miejscu a porusza się mapa. Akcja ma się toczyć w mieście. I nie wiem na jakiej zasadzie ma być zbudowana ta mapa? Mam stworzyć dużą przestrzeń w OpenGl i powoli dodawać ulicę, budynki itp, za pomocą przekształceń geometrycznych ? Czy na jakiej zasadzie to się robi?


(nnick) #2

Łatwiej chyba zrobić tradycyjnie: samochód się rusza (a za nim kamera, będziesz miał pozycję samochodu i jego kąt obrotu, zatem ustawienie kamery nie będzie problemem), a mapa jak to mapa stoi sobie w miejscu. Najłatwiej byłoby zaprzęgnąć do tego jakąś bibliotekę do wczytywania modeli, aczkolwiek zapewne nie będziesz miał jakiś super wyrafinowanych konstrukcji. Zrób zatem wielki kwadrat/prostokąt z teksturą symulującą nawierzchnię - trawa, droga czy co tam jeszcze wymyślisz, jakieś graniastosłupy jako budynki i samochód. Do tego detekcja kolizji AABB i to wsio.


(Wojtekbogocki) #3

@nnick Jemu chyba chodzi o coś w stylu, że droga jest prosta a samochód cały czas u dołu ekranu i jest tylko wrażenie ruchu. Proponuję zrobić tak jakbyś pracował w 2D, czyli tworzysz sobie quad'a i co kilka milisekund zmieniasz jego teksturę na następną klatkę animacji drogi itd. itd, gdy dojdzie do ostatniej klatki zmieniasz na pierwszą. Kamerkę ustawiasz tak, żeby droga była pod lekkim kątem, stawiasz na niej model samochodu i gotowe :slight_smile:


#4

Nie polecam takiego sposobu. Zajmuje to dużo czasu, a efekty są kiepskie. W dodatku nic się przez to nie nauczysz :confused:

Ja na miejscu Voin'a zrobiłbym prostą trójwymiarową mapę składającą się z sześcianów i po prostu poruszał się po mapie :slight_smile:

Oczywiście to tylko moje zdanie :slight_smile: Jeżeli masz pomysł to się go trzymaj. Nie zawsze "lepsze" pomysły są ciekawsze po zakończeniu kodowania.