Beste Technik, um ein Oldschool-Rennspiel (Fake 3D) zu erstellen?

20

Was wäre ein guter Ansatz, um das Rendering-System für ein Oldschool-Rennspiel zu entwickeln, das eine Pseudo-3D-Szenerie verwendet, wie zum Beispiel Outrun oder Lotus Esprit Turbo Challenge ? Es gibt eine endlose Scroll-Straße und Landschaften, die wie Werbeflächen usw. platziert sind. Ich glaube, Sie haben eine Idee.

Screenshot von Lotus: The Ultimate Challenge

Sind diese ähnlich wie Mode7 entwickelt oder steckt eine andere Technik dahinter? Hat die Technik einen bestimmten Namen, nach dem ich im Web suchen könnte? Ich muss so etwas in Flash entwickeln.

BadmintonCat
quelle

Antworten:

23

Es gibt einen ausgezeichneten Artikel , der das 3D-Rendering dieser Spiele im Detail erklärt. Eine vollständige Implementierung in JavaScript finden Sie hier .

Die Grundidee ist wie folgt: Sie teilen Ihren Bildschirm in mehrere Streifen auf und verwenden die perspektivische Projektion, um die Texturkoordinaten (Skalierung und y-Position innerhalb der Straßentextur) für jeden Streifen zu berechnen. Dann zeichnen Sie den Teil der Textur in den Streifen, was zu einer Straße führt, die in der Ferne verschwindet.

Blödmann
quelle
1

Sie erzeugen eine Pseudo-3D-Szenerie unter Verwendung der Perspektive . Sie haben einen Fluchtpunkt in der Mitte des Bildschirms. Sie können mithilfe der perspektivischen Projektion berechnen .

Neo
quelle
1
Ich denke, Sie meinten "Perspektive", nicht "Wahrnehmung".
Panda Pyjama