iluzja świata 3d w grze 2d

0

Piszę grę podobną do gta 2 i mam problem, gdyż nie mam pomysłu jak zrobić perspektywe budynków.
user image
Chodzi mi konkretnie o to by wyróżnić budynki od podłoża, więc najlepiej by było zrobić właśnie taką perspektywę, że jak się jest daleko od budynku to widać ściany, a im bliżej tym mniej są widoczne.
Może ktoś ma jakiś pomysł? Nie chodzi mi o to żeby mi tu musieliście pisać implementacje w kodzie, chodź fajnie by było, ale tylko o podsunięcie pomysłu jak by takie coś szło zrobić w javie.

0

Nie piszę w javie, ale to chyba nie problem :) Wg mnie powinieneś porównywać x,y tego co jest na środku ekranu ze ścianą budynku. jeśli "H" to wysokość nad którą Twoja kamera wisi, a "h" to wysokość budynku, "x" odległość ściany od środka ekranu to odległość góry ściany od środka ekranu byłaby x + h*x/H. Nie jest to pewnie idealny wzór, ale dobrze oddaje intuicję. Im oko jest niżej tym ściana jest bardziej odchylona (czytaj odległość góry od środka rośnie). Im bliżej oko jest ściany tym jej odchył jest mniejszy bo "x" maleje. x/H to cotangens

0

gta było w 3d :) oglądając mapy, zobaczysz wystające z płaszczyzny budynki.

0

Ehhh GTA.... Jakie to były fajne czasy...

//Sorka za offtop, ale te wspomnienia ...:)

0
nav napisał(a)

gta było w 3d :) oglądając mapy, zobaczysz wystające z płaszczyzny budynki.

No właśnie też tak myślałem dlugi czas... aż do momentu gdy trafiłem na taki artykuł:

http://gta.net.pl/132,artykul,gta.html

Wcześniej dałem srceena z gta 2 , ale po przeczytaniu tego artykułu widać ze jedna wersja gta byla robiona w 2d a budynki miały jakiś sprytny algorytm, który dawał iluzje 3d. Na dowód tu screen z GTA A
user image
Może efekt nie jest powalający (chodź to może tylko przez małą rozdzielkę) ale da się :D Pytanie tylko jak :D

1 użytkowników online, w tym zalogowanych: 0, gości: 1