Najlepsza technika do stworzenia oldschoolowej (fałszywej 3D) gry wyścigowej?

20

Jakie byłoby dobre podejście do opracowania systemu renderowania dla oldschoolowej gry wyścigowej, która wykorzystuje pseudo 3D scenerię, na przykład Outrun lub Lotus Esprit Turbo Challenge ? Niekończąca się przewijana droga i grafika scenerii są umieszczane jak przedmioty na billboardach itp. Myślę, że masz pomysł.

Zrzut ekranu z Lotus: The Ultimate Challenge

Czy zostały opracowane w podobny sposób jak Mode7, czy też kryje się za tym inna technika? Czy technika ma konkretną nazwę, której mogłabym szukać w sieci? Muszę opracować coś takiego we Flashu.

BadmintonCat
źródło

Odpowiedzi:

23

Istnieje doskonały artykuł , który szczegółowo wyjaśnia renderowanie 3D tych gier. Tutaj znajdziesz także pełną implementację w JavaScript .

Podstawowa idea jest następująca: dzielisz ekran na kilka pasków i używasz rzutowania perspektywicznego, aby obliczyć współrzędne tekstury (skalowanie i położenie y wewnątrz tekstury drogi) dla każdego paska. Następnie rysujesz fragment tekstury w pasku, co powoduje, że droga znika w oddali.

grzmot
źródło
1

Generują pseudo 3D scenerię przy użyciu perspektywy . Mają punkt zbiegu na środku ekranu. Możesz obliczyć za pomocą rzutowania perspektywicznego .

neo
źródło
1
Myślę, że miałeś na myśli „perspektywę”, a nie „percepcję”.
Panda Pajama,