Beispiele für das Fälschen von 3D


17

Kennt jemand gute Beispiele dafür, wie 3D in 2D gefälscht wird (nicht unbedingt Code, aber Spiele, die ich nachschlagen könnte)? Der Spieler hat die Perspektive, dass sie auf den Bildschirm "hineingehen" und Dinge auf sie zukommen. Im Moment skaliere ich einfach die 2D-Feinde, um die Illusion zu vermitteln, dass sie näher kommen, aber es fühlt sich immer noch ziemlich flach an. Gibt es Tipps, wie Sie eine 3D-Illusion erzeugen können, ohne eine 3D-Engine zu verwenden?

Edit : Bin gerade auf den Begriff 'Mode7' gestoßen und dieses Video zeigt ziemlich genau, was ich herausfinden will. (vor allem die Spiele um 0:13 und 1:03). Was ist ein guter Weg, um so etwas zu implementieren?


1
Viele Computerspiele vor Mitte der 90er Jahre haben 3D "gefälscht", und so ziemlich alle Konsolenspiele vor der fünften Generation (Playstation / N64) haben dies getan. Es könnte hilfreich sein, mit einem Screenshot oder etwas anderem zu verdeutlichen, was Sie gerade tun ...
thedaian

1
Ich habe den Beitrag mit einem Video aktualisiert, das ich gerade gefunden habe.
XSL

2
Alle 3D in Computerspielen ist gefälschte 3D. Nichts davon existiert wirklich! (Ich meine dies in dem Sinne, dass jede "Fälschung" von 3D in einem Spiel nur ein Verwandter dessen ist, was Sie für "echt" halten. Mode7 ist nur ein Mittelweg zwischen ihnen.
Dieselbe

Antworten:


13

Eines meiner Lieblings-Arcade-Klassiker hat auch 3D-Fake gemacht: Space Harrier

In diesem Video sehen Sie einige der von ihnen verwendeten Tricks, aber einer der effektivsten visuellen Effekte ist so nahtlos, dass Sie es möglicherweise gar nicht bemerken: Wenn sich der Player (oder vor allem die Kamera) bewegt, verwenden sie die Parallaxe , um Objekte einzugeben Die Szene ein Gefühl der Tiefe.

Das heißt, nähere Objekte bewegen sich schneller von Seite zu Seite als entfernte Objekte. Das klassische Beispiel für Parallaxe ist der Blick aus dem Fenster eines sich bewegenden Autos: In der Nähe peitschen Dinge wie Straßenschilder verschwommen vorbei, weiter entfernte Bäume bewegen sich langsamer, während entfernte Dinge wie Berge sich kaum zu bewegen scheinen.

Außerdem werden Objekte nicht linear skaliert, wenn sie näher kommen. Das heißt, Objekte werden nur ein kleines Stück entfernt skaliert und im Nahbereich schneller skaliert. Eine lineare Skalierung wäre, wenn sie die gesamte Zeit mit derselben Geschwindigkeit skaliert würden. Sie sagen, Sie skalieren Ihre Objekte bereits, wenn sie sich nähern, aber Sie skalieren sie möglicherweise linear und das sieht flach aus.

ZUSATZ: Afterburner ist ein weiteres klassisches Arcade-Spiel, bei dem viele der gleichen Grafik-Tricks zum Einsatz kamen.


1
Schatten sind auch sehr wichtige Elemente, um Dinge in 3D erscheinen zu lassen. Abhängig vom Spielstil kann dies so einfach sein oder auch nicht. Kann Ihr Charakter einen Schatten auf den Boden werfen oder ist Ihr Schiff groß genug, um einen Schatten auf einen Planeten zu werfen? Dies ist das allgemeine Konzept hinter dem Bump- oder Normal-Mapping. (Nicht als Beispiel für ein High-End-Spiel gedacht.) Ein Schatten Ihres Charakters, der leicht über den Baum im Hintergrund, aber nicht über den Hügel in der Ferne geht, könnte möglicherweise eine Kante hinzufügen, nach der Sie suchen.
James

6

Die meisten dieser Spiele verwenden die berühmten "Mode 7" -Tricks. Es ist nur ein Rotozoom. Dieser Vorgang wurde vom Coprozessor auf der Konsole ausgeführt, sodass er auf diesen Hardwares sehr schnell war. Echte 3D-Operationen waren zu kostspielig. Mit tatsächlicher Hardware ist es jedoch einfacher, mit echtem 3D zu simulieren.

Ein Rotozoom ist eine Drehung und ein Zoom auf ein Sprite. Schauen Sie sich diese Erklärung oder diese SDL- Implementierung an .

Suchen Sie auf Google "MODE-7 Grundriss", um Beispiele und Code zu finden.

F-Zero Mode 7 war eines der ersten Spiele, das es auf Snes verwendete.


5

Ich fand vor einigen Jahren einen fantastischen Rückblick auf diese Techniken mit Beispielen und Erklärungen. Ihre Frage veranlasste mich, erneut danach zu suchen: Lou's Pseudo 3d Page . Früher hatte er einen funktionierenden Outrun-Motor, der jedoch aus irgendeinem Grund entfernt wurde ( die Wayback-Maschine, wenn Ihr Freund hier ist ).

Zur weiteren Beantwortung Ihrer Frage finden Sie hier eine Liste der Spiele auf seiner Seite:

  • Street Fighter II (Arcade) (die "Rastereffekte" auf der Dojo-Etage)
  • Outrun (Arkade)
  • Space Harrier (Arkade)
  • Super Hang-On (Spielhalle)
  • Enduro (Atari 2600)
  • Pole Position (Spielhalle, Atari 2600)
  • Straßenausschlag (3DO)
  • Power Drift (Spielhalle)
  • Racin 'Force (Spielhalle)
  • Hydra (Arkade)
  • Outrunners (Arkade)
  • Turbo (Arkade)
  • Spy Hunter II (Arkade)
  • Boxenstopp II (Commodore 64)
  • Enduro Racer (Spielhalle)
  • Lotus (Commodore Amiga)
  • Probefahrt II (Commodore Amiga?)
  • Speed ​​Buggy

Wiederum nicht meine Liste - alle Ehre gebührt Louis Gorenfeld für seine großartigen Nachforschungen.


4

Alle 3D-Spiele sind gefälschte 3D-Spiele: P Ich mache Witze, ich weiß, was du mit "gefälschten 3D-Spielen" meinst.

Nun, das 8/16-Bit bietet mehrere Beispiele für eine sehr verbreitete Technik, bei der der Hintergrund in Schichten mit unterschiedlichen Geschwindigkeiten dargestellt wird, um die Parallaxe nachzuahmen. Es war auch sehr verbreitet zu sehen, dass es eigentlich einfacher ist, sich nur ein Rennspiel anzusehen, das für diese Konsolen entwickelt wurde, als zu erklären, was Sie meines Erachtens tun wollen.

Ich sehe im Flash-Szenario einige neue Dinge in der gleichen Stimmung. Werfen Sie einen Blick auf Missile Game 3d .

Ich weiß nicht, welchen Weg Sie einschlagen wollen, um diesen Effekt zu erzielen, aber es scheint, dass Sie mit der Programmierung begonnen haben und Zugriff auf Grafiken haben (eine API, vielleicht?). Es geht also nur darum, die richtigen Parameter für die Bewegung über den Bildschirm und die Skalierung als Funktion der Zeit zu finden. Ich glaube nicht, dass Sie dafür spezifische Gleichungen finden werden, da dies wahrscheinlich in hohem Maße von der spezifischen Situation Ihres Spiels abhängt (die übliche Geschwindigkeit, Rennen, Flugzeuge, Tunnel usw.) ist die beste Wahl, um den Maßstab und die Flugbahn der Funktionen in Bezug auf die Zeit auf dem Bildschirm zu ermitteln.


3

Jazz Jackrabbit und die alten Sonic-Spiele hatten diese Bonuswelten, die Pseudo-3D waren.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.