Warum hatten die alten 3D-Spiele „nervöse“ Grafiken? [geschlossen]

15

Ich habe in letzter Zeit "MediEvil" gespielt und mich gefragt, warum manche der alten 3D-Spiele beim Bewegen "fließende" Grafiken haben. Es ist in Spielen wie "Final Fantasy VII" , "MediEvil" enthalten , und ich erinnere mich, dass "Dungeon Keeper 2" im Zoom-Modus dasselbe hat. Beispiele wie "Quake 2" hatten dieses "Problem " jedoch nicht und es ist genauso alt. Die Auflösung scheint nicht das Problem zu sein, alles wird perfekt gerendert, wenn Sie stillstehen. Wird das Spiel langsam aktualisiert oder hat das etwas mit Pufferung zu tun?

dreta
quelle
5
Können Sie einen Link zu einem Video erstellen, das den Effekt zeigt, von dem Sie sprechen?
John Calsbeek
1
youtube.com/watch?v=H-M6EPgs1JY&t=1m20s zum Beispiel: Jedes Mal, wenn sich die Kamera bewegt, wird der Bildschirm verrückt, es sieht seltsam aus, das PS scheint keine Probleme zu haben, eine gerade Linie zu erzeugen, also denke ich nicht Es ist nur
Pixelation
1
Ich kann nichts sehen ... vielleicht war ich damals so an das Spielen gewöhnt, dass ich die Probleme nicht bemerke. Aber mein erster Gedanke war, dass Sie vielleicht die in Mikes Antwort erwähnte affine Texturtransformation gesehen haben, die dazu führen kann, dass sich die Dinge aufgrund des Blickwinkels merkwürdig dehnen.
Kylotan,
@Kylotan ist besonders bei langsameren Kamerabewegungen zu bemerken (z. B. um 16 in dretas YouTube-Link, sollte man es auf dem Boden und an den Wänden bemerken.) Ich denke, das ist der Grund, warum PS-Spiele in fast jedem Spiel so schnelle Kameras hatten :)
kaoD
1
Ich stimme dafür, diese Frage als "Off-Topic" zu schließen, weil sie fragt, warum sich eine breite Palette von Videospielen so verhalten hat, wie sie es getan haben. Zumindest jetzt sind diese Fragen im Allgemeinen nicht mehr aktuell, da sie auf Spekulationen darüber beruhen, wie die Entwickler tatsächlich das getan haben, was sie getan haben. Wir können diese Fragen oft mit einer Überarbeitung von "Wie mache ich das in meinem eigenen Spiel?" Verbessern, aber das scheint hier nicht die eigentliche Absicht zu sein.
Gnemlock

Antworten:

27

Ich habe nur die bizarrsten Zitate dafür, aber es erscheint auf der ursprünglichen PlayStation, die Vektoreinheit (die normalerweise zum Transformieren von Vertices verwendet wurde) war in der Lage, Festkommaoperationen auszuführen, und der Rasterizer verwendete auch Festkomma-Mathematik, aber Es konnten nur ganze Zahlen zwischen den beiden übergeben werden. Sie sehen also Quantisierungsartefakte: Polygonecken werden am nächsten Rasterpunkt gefangen. Perfekt stabil für eine ruhige Szene, aber ziemlich verwirrend in der Bewegung.

Ein bisschen zusätzliche Recherche hat ergeben, dass die ursprüngliche PlayStation unterschiedliche Auflösungen hatte, mit denen der Rasterizer arbeiten konnte, von 256 x 224 bis 740 x 480. Sie könnten also niedrigere Auflösungen wählen, um eine bessere Füllrate zu erzielen, aber Sie würden diese Art von Artefakten sehen, da das Raster bei niedrigen Auflösungen grob genug ist, um es mit bloßem Auge leicht zu erkennen.

John Calsbeek
quelle
IIRC auf dem PC (im Zusammenhang mit Mesh-Animationen) gab es einige Probleme (vor kurzem tatsächlich behoben um 2000-2005) mit Gleitkommaberechnungen auf der GPU - ich kann mich nicht erinnern, was genau das Problem war, aber es führte zu sehr " beunruhigende "Charakteranimationen. Ich erinnere mich, dass Star Wars The Phantom Menace dieses Verhalten ziemlich drastisch zeigte.
Jonathan Dickinson
@JonathanDickinson Du denkst nicht an den "Candy Wrapper" -Effekt auf die Gelenke, oder? isg.cs.tcd.ie/projects/DualQuaternions
John Calsbeek
Nein, es waren einige Ungenauigkeiten, die aus Gründen entstanden sind, an die ich mich einfach nicht erinnern kann.
Jonathan Dickinson
9

Wenn Sie Quake 2 im Softwaremodus spielen, gibt es tatsächlich einige der von Ihnen genannten Probleme. Wenn Sie sich in Quake 2 Certian-Modelle in spitzen Winkeln ansehen, werden Sie Texturen "schwimmen" sehen. Dies liegt daran, dass viele frühe 3D-Engines das Affine-Texture-Mapping verwendeten . Dies erspart Ihnen die teure Teilung pro Pixel, die Ihnen eine perspektivische korrekte Texturabbildung ermöglicht, aber es bedeutet, dass sich Ihre Texturen bei Betrachtung unter scharfen Winkeln verziehen.

Außerdem verwendeten viele frühe 3D-Spiele (einschließlich Quake 2) einfaches Vertex-Morphing , um ihre Modelle zu animieren, im Gegensatz zu Skelettanimationen. Die Eckpunkte werden zwischen Keyframes mit linearer Interpolation getweent. Natürlich werden dadurch die Abstände zwischen den Scheitelpunkten nicht sehr gut beibehalten, sodass Sie am Ende ein Gelee-Scheitelpunkt-Syndrom haben - die Modelle wackeln beim Animieren ein wenig!

Mike Welsh
quelle
2
Richtig, und die Auflösung der Netze betrug nur 256x256, sodass die Bewegung der Scheitelpunkte in nicht geraden Linien interpoliert wurde. Ein bisschen wie der Versuch, einen reibungslos animierten Schwertschwung in der Pixelkunst zu zeichnen.
Myrddin Emrys
Ja, das MD2-Format hatte nur einen 3 Bytes / Vertex.
Tili
1
Quake 2 hat tatsächlich eine perspektivische korrekte Texturabbildung durchgeführt, jedoch nur alle 16 (oder 8 über eine Benutzeroption) Pixel korrigiert.
Maximus Minimus
1
Um Aussagen zu Q2 korrekt zu machen: Quake 2 verwendet eine perspektivische korrekte txt-Zuordnung für die Ebenengeometrie (lineare Interpolation jedes 16. korrekt berechneten Pixels) und eine affine Textzuordnung für bewegliche Objekte
Peter Parker,