Ich verstehe die Bedeutung des Begriffs "2.5D" nicht. Ich bin besonders verwirrt über den Unterschied zwischen 2.5D- und 3D-Umgebungen, obwohl ich über beide unterschiedliche Definitionen und Artikel gelesen habe. Ich verstehe die Teile, in denen 2.5D wie 3D ist, aber ich verstehe nicht die Teile, in denen 2.5D anders ist.
Also, was bedeutet es für ein Spiel 2.5D zu sein? Ist das hier gezeigte Spiel beispielsweise 2.5D?
2.5d
terminology
mathieug
quelle
quelle
Antworten:
Die Begriffe 2D und 3D beziehen sich (wie Sie wahrscheinlich bereits wissen) auf die Anzahl der räumlichen Dimensionen in einem euklidischen Weltraum. Diese Dimension muss eine Ordnungszahl sein; Es gibt keine halbe Dimension , daher ist der Begriff 2.5D wirklich ein Unsinnbegriff und hat keine intrinsische Bedeutung. Das heißt, 2.5 ist "irgendwo zwischen" 2 und 3, also bedeutet 2.5D im Allgemeinen etwas in der Art von "irgendwo zwischen 2D und 3D".
Persönlich verwende ich den Begriff, um Fälle zu bezeichnen, in denen die grafischen und logischen Welträume eines Spiels unterschiedliche Dimensionen aufweisen. Insbesondere gibt es hier zwei verschiedene Varianten:
Eine andere gebräuchliche Verwendung des Begriffs (obwohl nicht eine, die ich verwende) bezieht sich auf Spiele, die eine Kombination aus 3D- und billboarded 2D-Grafiken verwenden. In diesem Fall beschreibt der Begriff die logische Dimension des Spiels überhaupt nicht. Nahezu alle 3D-Spiele verwenden auf die eine oder andere Weise Billboarding, einschließlich Partikelsystemen, Fernobjekt-Proxys und In-World-UI-Overlays. Daher wird der Begriff normalerweise nur verwendet, wenn ein erheblicher Teil der Objekte ohne Hintergrund 2D-Grafiken verwendet und die Grenze zwischen 2,5D und 3D etwas unscharf ist.
quelle
Das erste Spiel, von dem ich weiß, dass der Begriff "2.5D" darauf angewendet wurde, war "Doom" (obwohl Wolfenstein 3D sich auch in gewissem Sinne qualifiziert).
Wolfenstein 3D war im Grunde ein 2D-Spiel mit einer 3D-Präsentation. Sie navigierten durch ein 2D-Labyrinth, alle Böden waren flach, alle Decken waren auf gleicher Höhe, es gab keine Fenster, Türen waren vom Boden bis zur Decke geöffnet und seitlich geöffnet, und Sie konnten sich niemals auf oder unter einem anderen Objekt befinden. Das Spiel verwendete Raycasting, um für jede Spalte des Bildschirms herauszufinden, wie weit die Wand in dieser Richtung entfernt war und welche Textur die Wand hatte. Dann wurde eine Spalte der Wandtextur mit einer Höhe gezeichnet, die umgekehrt proportional zum Abstand war, und der Raum darüber und darunter wurde mit Bodenfüllung und Deckenfüllung bemalt. Feinde und Objekte waren Sprites mit einer begrenzten Anzahl von Aspekten und ihrer Größe proportional zur Entfernung.
Doom verwendete eine sehr ähnliche Technologie wie Wolfenstein 3D, benutzte sie jedoch, um ein besseres 3D-Erlebnis zu erzielen. Die Karten waren still2D, dargestellt durch Partitionierung des binären 2D-Raums (daher der Dateiname der .BSP-Karte). Was Sie auf der Automap gesehen haben, als Sie auf die Registerkarte geklickt haben, war nur ein direktes 2D-Rendering der Karte. Jeder Sektor hatte jedoch eine unabhängige "Bodenhöhe" und "Deckenhöhe", und die Kanten hatten Texturen an der Ober- und Unterseite (verwendet, wenn sie eine niedrigere Deckenhöhe oder eine höhere Bodenhöhe als ein Teil ihrer Umgebung hatten). Dies ermöglichte Treppen, Fenster, Plattformen, Pools und andere Effekte - die Engine musste nur in der Lage sein, eine Liste mit mehreren Sektoren zu führen, die durchlaufen wurden, bevor sie schließlich auf eine Wand stieß, und ihre jeweiligen Texturen. Eine echte 3D-Architektur konnte man aber immer noch nicht haben - man konnte mit einem erhöhten Bodenabschnitt eine "Brücke" über etwas Schleim schlagen, aber es wäre unmöglich, dass sich etwas darunter befanddie Brücke. Eine Position im Spiel ist immer noch nur X und Y. Die einzige Kontrolle, die der Spieler über seine Größe hat, ist das Herunterfallen von Dingen und Aufzügen, bei denen es sich einfach um Sektoren handelt, in denen Skripte geschrieben sind, um die Bodenhöhe zu ändern. Feinde sind immer noch Sprites (obwohl ich glaube, dass sie mehr Aspekte hatten), Schüsse mit "automatischem Zielen" in der Höhe, da die Kollisionserkennung nur zweidimensional ist und es kein 3D-Modell im Spiel gab.
Heretic und Hexen verwendeten von Doom abgeleitete Motoren, die noch einen Schritt weitergingen und gelegentlich den Namen "2.75D" trugen. Sie hatten die meisten architektonischen Einschränkungen und auf Sprites basierende Feinde, hatten aber auch die Möglichkeit, nach oben und unten zu schauen (den Blick zu neigen, aber nur so weit, oder der Motor würde brechen) und zu springen, zu fliegen und sich zu ducken (Ändern ihrer Höhe unabhängig).
quelle
2.5D
2.5D ("zweieinhalb-dimensional"),, Perspektive und Pseudo-3D-Begriffe, hauptsächlich in der Videospielindustrie, werden verwendet, um entweder 2D-Grafikprojektionen oder ähnliche Techniken zu beschreiben, die verwendet werden, um eine Reihe von Bildern zu erzeugen (oder Szenen), um das dreidimensionale Erscheinungsbild (3D) zu simulieren, obwohl dies nicht der Fall ist, oder das Gameplay in einem ansonsten dreidimensionalen Videospiel, das auf eine zweidimensionale Ebene beschränkt ist.
Nach meiner Erfahrung hängt es vom Alter der Person ab, mit der Sie sprechen.
Ältere Spieler tendieren dazu, die erste Definition zu verwenden: " 2D-Grafikprojektionen und ähnliche Techniken, die verwendet werden, um eine Reihe von Bildern (oder Szenen) so zu simulieren, als wären sie dreidimensional (3D), obwohl dies nicht der Fall ist. "
Jüngere Spieler verwenden die 2. Definition " Gameplay in einem ansonsten dreidimensionalen Videospiel, das auf eine zweidimensionale Ebene beschränkt ist ".
Persönlich verwende ich die 2. Definition. Trine, Donkey Kong und Super Mario Bros Wii U wären meiner Meinung nach alle 2.5D. Zusätzlich verwendet das 2.5D Steam-Tag die zweite Definition. Ich denke, dies ist ein guter Lackmustest für die Definition des Konzepts durch einen typischen Spieler. Daher glaube ich, dass die 2. Definition korrekter ist .
3D
Jedes Videospiel mit 3D-Spielgrafiken, die in 3 Dimensionen berechnet werden. Beachten Sie, dass dies eine Übermenge der zweiten 2.5D-Definition darstellt.
quelle
2.5D ist nur eine bequeme Art, 2D zu sagen, die wie 3D aussieht.
Ich nehme an, Sie könnten die Linien der Definition wirklich verwischen, wenn Sie zum Beispiel eine 3D-Engine verwenden, das Gameplay jedoch nur auf eine 2D-Ebene beschränken, aber persönlich würde ich eine 2,5-D-Version in Betracht ziehen, die 3D aussieht, aber 2D agiert .
quelle
Der Screenshot, den Sie gepostet haben, ist ein 3D-Spiel.
In einem 3D-Spiel werden die Objekte mithilfe von Eckpunkten gezeichnet, um tatsächliche 3D-Objekte zu zeichnen, die dann farbig und texturiert sind.
In einem 2D-Spiel werden die Objekte aus Sprites / Sprite Sheets usw. entnommen.
Der Unterschied zwischen den beiden besteht darin, wie Sie sie anzeigen können. Ein Sprite ist wie ein flaches Stück Papier. Sie können es nicht in einer anderen Neigung oder einem anderen Winkel anzeigen, da das Sprite sonst verzerrt wird. Während sich die Kamera bewegt, können Sie auf einem 3D-Objekt verschiedene Teile des Objekts sehen, da es sich um ein 3D-Objekt handelt.
In einem 2.5D-Spiel kombinierst du beide Welten. Denken Sie daran, nur weil Sie eine Kamera nicht bewegen können, um verschiedene Blickwinkel zu sehen, macht ein Spiel nicht 3D. Die darin enthaltenen Objekte bestimmen dies.
Ein gutes Beispiel für ein 2.5D-Spiel ist Ragnarok Online. Was es zu 2.5D macht, ist, dass die Welt hauptsächlich aus 3D-Objekten besteht. Gebäude, Landschaften usw. sind strukturierte 3D-Objekte. Sie können die Überkopfkamera drehen und gleichzeitig verschiedene Seiten dieser Objekte sehen. Sie können die Vorderseite eines Gebäudes sowie einen linken / rechten / Dachbereich anzeigen. Bei den Playern handelt es sich jedoch um 2D-Sprites, die so positioniert sind, dass sie nach oben stehen. Wenn Sie die Kamera zu stark drehen, muss das Spiel eine andere Zelle des Sprite-Arbeitsblatts laden, damit dieser Charakter seine Darstellung ändert. Sie können keine verschiedenen Winkel des Charakters anzeigen, da diese nicht 3D sind. Die Winkel werden abhängig von der Ansicht der Kamera dynamisch geladen.
http://sprites.technoized.com/images/sprite/ro/gm_m.png
Dies ist ein Sprite Sheet aus dem Spiel. Wenn Sie es sich nur ansehen würden, würden Sie annehmen, dass es aus einem 2D-Spiel stammt. Allein, du hättest recht. Aber sobald es in eine 3D-Welt gebracht wurde, haben Sie ein 2.5D-Spiel.
quelle
2.5D
ist irreführend, da es sich nur um eine menschliche Interpretation usw. handelt, nicht um etwas Technisches. Was ist Ihr Spiel, wenn Sie in einer 3D-Umgebung die Billboard- Technik für alles (usw. texturierte Quads) verwenden und diese immer vor Ihnen drehen? Einige sagen vielleicht 2,5D, aber die meisten sagen 3D, da es eine Z-Tiefe gibt. Technisch gesehen ist es 3D, wenn es 3D-Eckpunkte verwendet (also Z-Dimension), und wenn es nur X / Y verwendet (sagen wir Super Mario Bros. ), dann ist es 2D. Aber wenn in einer 3D-Umgebung (einschließlich Zeichen) nur 2D (x / y) verwendet wird, ist es nach Interpretation immer noch 3D, aber 2.5D .2.5D ist oft eine andere Ausdrucksweise für "isometrisch" - 2D-Grafiken, die so gezeichnet sind, dass sie das Erscheinungsbild von 3D vermitteln, 3D-Koordinaten jedoch nicht simulieren. Siehe den Wikipedia-Artikel zu isometrischen Grafiken: http://en.wikipedia.org/wiki/Isometric_graphics_in_video_games_and_pixel_art
Das Wesentliche ist, dass Sie in 2,5D / Isometrie immer noch ein 2D-Koordinatensystem verwenden - mit x- und y-Achsen, nur um Ihre Grafiken zu berechnen. Bei Ihren Grafiken kann es sich einfach um 2D-Sprites handeln, die normalerweise so gezeichnet werden, dass Sie drei Flächen sehen können, und die dann mit (x, y) -Koordinaten auf dem Bildschirm platziert werden. Manchmal werden die Sprites sogar durch Modellieren in 3D und anschließendes Erstellen von 2D-Sprites des 3D-Modells aus mehreren Winkeln erstellt.
Sich bewegende Objekte haben charakteristischerweise nur wenige Winkel, aus denen sie betrachtet werden können. Wenn Sie ein Zeichen in einer isometrischen Ansicht drehen, dreht es sich nicht reibungslos, es werden jedoch verschiedene unterschiedliche Winkel angezeigt, z. B. vorne, 3/4, seitlich und so weiter. Dies liegt daran, dass für jeden einzelnen Blickwinkel ein ganz neuer Satz von Sprites erforderlich ist.
Isometrische Spiele unterstützen aufgrund der Einschränkungen dieses Systemtyps normalerweise nur einen Kamerawinkel. Ein weiteres Unterscheidungsmerkmal von isometrischen Spielen ist, dass sie normalerweise keine Fluchtpunkte haben. Wenn Sie ein Objekt im wirklichen Leben betrachten und sich näher bei Ihnen befinden, erscheint das Objekt in Ihrer Sicht größer. Wenn das Objekt weiter entfernt ist, erscheint es kleiner. In isometrischen Spielen erscheinen alle Objekte in der Regel gleich groß, unabhängig davon, wo sie sich im Raum befinden.
Simulieren Sie in 3D-Spielen im Vergleich alle 3 Achsen - x, y und z. Auf einer sehr niedrigen Ebene übersetzt der Computer x, y und z in x, y, um sie auf einem Monitor anzuzeigen, aber auf einer höheren Ebene manipulieren Künstler tatsächlich Punkte auf drei Achsen, um Objekte darzustellen. Da der Computer alle Informationen über die Form des Objekts hat, kann er dynamisch berechnen, wie das Objekt in einem beliebigen Winkel betrachtet wird, und es kann kleiner oder größer erscheinen, wenn Sie näher oder weiter von ihm entfernt sind.
Einige Spiele sind eine Mischung aus 2,5D und echtem 3D. Ein Beispiel, an das ich denken kann, ist die Disgaea-Serie, die 3D-Hintergründe und 2D-Sprites enthält.
quelle
Ich bin mir nicht sicher, welche Definition akzeptabler ist, aber ich und die Leute in meiner vorherigen Firma betrachteten "jedes Spiel, das wie isometrisches 3D aussieht, aber über 2D-Sprites gerendert wird", als 2,5D.
Lassen Sie mich nun erklären, warum wir das getan haben. Im Allgemeinen führt das Rendern einer 3D-Welt mit vielen Objekten zu einem zu hohen Druck auf die Verarbeitung, wodurch die FPS-Anzahl verringert wird. Um dies zu überwinden, haben wir im Allgemeinen Objekte in 3D-Rendering-Software wie Maya erstellt und sie als Sprites gerendert. Welches kann im Spiel verwendet werden. Ganz zu schweigen davon, dass die Winkel beim Rendern berücksichtigt wurden. Um mit dem Verlag über diese Technologie zu sprechen, haben wir diesen Begriff normalerweise verwendet. Eine 3D-Welt, die aussieht wie eine 2D-Welt, ist für uns technisch immer noch 3D. Daher haben wir den Begriff für diese Methode im Allgemeinen nicht verwendet. Ich dachte, ich sollte mein Teil hier teilen.
quelle
Normalerweise bezieht sich der Begriff "2.5-D" auf einen von zwei sehr unterschiedlichen Spielstilen.
Es könnte entweder bedeuten:
1) Ein Spiel, das 2-D-Rendering-Techniken verwendet, aber in 3 räumlichen Dimensionen kontrolliert. In der Regel werden grafische Tricks verwendet, um den Eindruck zu erwecken, als ob sie tatsächlich in 3D gerendert würden. Dies war in den 90er Jahren sehr verbreitet, heute jedoch weniger. (Beispiele: "DOOM", "Duke Nukem 3D", "Wolfenstein 3D")
2) Ein Spiel, das vollständig in 3-D gerendert wurde, jedoch ausschließlich entlang einer oder mehrerer 2-D-Ebenen gesteuert wird. Dieser Stil ist bis heute sehr beliebt. (Beispiele: "Little Big Planet", "New Super Mario Bros.", "Trials HD")
Zu beachten ist, dass bei Verwendung des Architekturmusters "Model-View-Controller" der erste Spielstil ein "Modell" enthält, das Daten in drei Dimensionen darstellt, aber eine "Ansicht", die sie dem Benutzer nur in zwei Dimensionen anzeigt. Der zweite Spielstil ist umgekehrt.
quelle
In 2.5D verwenden Sie 2D-Assets / Rendering-Techniken, um das Gefühl einer 3D-Umgebung zu vermitteln.
Mit dieser Definition ist im folgenden möglicherweise mehrdeutigen Szenario eine gewisse Ausarbeitung erforderlich:
Spiel A
Mithilfe von 3D-Grafiken wird die GPU beschleunigt und alle (die Spielobjekte sind Maschen, keine Bilder) mit einem festen Kamerawinkel. Machen wir es noch schlimmer, die Projektion ist orthographisch, die klassischen 63,43 Grad. Die einzige Möglichkeit, auf den ersten Blick zu bemerken, dass Grafiken keine 2D-Grafiken sind, besteht darin, dass 3DGC - abgesehen davon, dass Sie sie mit äußerster Sorgfalt rendern - leicht von Handzeichnungs-Sprites unterschieden werden kann, unabhängig von der Projektion, mit der sie gerendert werden. Sie können mit verschiedenen Rendertechniken, Parametern, Shadern usw. experimentieren, und es fällt Ihnen schwer, die Tatsache zu verbergen, dass es sich um 3D-Netze handelt.
Spiel B
Eine Portierung von Spiel A, die jedoch auf Plattformen abzielt, von denen bekannt ist, dass sie über Hardware verfügen, die mit 3D-Grafiken nicht sehr gut oder überhaupt nicht zurechtkommt. Dann ersetzt der Port die Maschen durch Sprites. Es werden weiterhin 3D-Begrenzungsrahmen zum Beispiel für Kollisionen verwendet und Objekte haben eine Positionseigenschaft mit x-, y- und z-Werten, da die Spiellogik meistens nicht oder überhaupt nicht berührt wurde, nur der Rendering-Code wurde geändert.
Da die Sprites von Spiel B die 3D-Assets von Spiel A darstellen und Spiel A keine komplizierten Shader benötigt, können Sie in 99% aller GPUs keinen Frame von Spiel unterscheiden B eines Rahmens aus Spiel A.
In 2.5D ist die Interaktion zwischen Spielobjekten auf Situationen beschränkt, in denen die Illusion von 3D nicht beeinträchtigt werden kann. Um beispielsweise zwei umarmende Charaktere darzustellen, müssen Sie eine einzelne Bilddatei erstellen, in der die beiden Charaktere interagieren, da der Versuch, die Umarmungsaktion nur mit einem einzigen Bild pro Charakter darzustellen, zu schwierig oder unmöglich wäre. Vielleicht können Sie mit einem in Teile aufgeteilten Charakterkörper kommen und diese in der richtigen Reihenfolge zeichnen. In 3D gibt es dieses Problem nicht (es gibt ein anderes Problem, bei dem die beiden Zeichen richtig positioniert werden, damit sie nicht in das Netz des anderen Zeichens eindringen).
Um dies zu veranschaulichen, stellen Sie sich vor, dass in Spiel A und B ein Fehler vorliegt, durch den der Spielercharakter in bestimmten Situationen ein anderes Spielobjekt passieren kann, sodass wir leicht zwischen dem 2.5D- und dem 3D-Objekt unterscheiden können.
Game B, 2.5D Render, Sprites werden nach dem z-Wert ihres Positionsvektors sortiert. In diesem Beispiel ist positives z unten und negatives z oben. z-Achse und y-Achse sind parallel, aber z wird mit einem Faktor von 0,5 von y skaliert. Wenn also der sichtbare Bereich zwischen 10 und -10 Jahren liegt, haben wir im selben Bereich zwischen 20 und -20 Jahren. Objekte mit einem größeren z werden letztere gezeichnet, so dass sie als vor Objekten mit einem niedrigeren z stehend angesehen werden. Der Schatten eines Spielercharakters sieht seltsam aus, da sich die Schatten in einer höheren Ebene als der Boden befinden, aber in einer niedrigeren Ebene als alle anderen Objekte, sodass der Schatten eines Spielercharakters niemals auf dem Würfel liegt.
Spiel A, 3D Render. Der Tiefenpuffer (auch als Z-Puffer bezeichnet) wird für die pixelgenaue Tiefenprüfung verwendet. Ein Objekt muss also nicht ein anderes Objekt vollständig verdecken, nicht einmal ein Dreieck muss ein anderes Objekt vollständig verdecken. Wir haben einen Tiefentest mit Pixelgenauigkeit. Wir können die Spielobjekte in beliebiger Weise drehen und trotzdem realistische Ergebnisse erzielen, wenn sie interagieren.
Fazit: In 2.5D befindet sich ein Sprite entweder vor oder hinter einem anderen Sprite. In 3D besteht ein Netz aus Dreiecken. Beim Testen der Tiefe ist Dreieck jedoch nicht die Mindesteinheit. Sie können die Pixelgenauigkeit festlegen. Natürlich ist eine Kameradrehung in 2.5D nicht möglich, da Objekte für einen festen Kamerawinkel erstellt wurden, während in 3D natürlich ist, wenn die Kamerawinkel in einem 3D-Spiel durch das Design eingeschränkt sind.
Es gibt verschiedene Tricks, die das Gefühl vermitteln, in einer 3D-Welt zu sein, wenn Sie nur 2D-Grafiken rendern können. Ich habe nur ein schnell erstelltes Beispiel vorgestellt, das einige Elemente eines aufgegebenen Projekts von mir verwendet.
Warum nicht einfach immer 3D verwenden und 2.5D vergessen?
Nun, ich kann in einigen Beispielen nachdenken, warum ein Entwickler den 2.5D-Ansatz bevorzugt:
Wie stark können Sie die Ergebnisse von 3D-Grafiken mit 2.5D approximieren?
Es gibt einen Performance- und Programmierkomplexitätshorizont. Wenn Sie sich diesem Horizont nähern, beginnen Sie zu bezweifeln, ob Ihr Projekt in 2.5D wirklich möglich ist oder ob Sie in 3D arbeiten müssen. Zum Beispiel können Sie Z-Buffering in 2.5D (theoretisch) verwenden, aber können Sie die Videospeicherkosten bezahlen (alter Desktop-Computer mit integrierter Grafik, keine leistungsstarken Mobilgeräte)? Möchten Sie die Speicherkosten für ein zusätzliches Bild bezahlen, um die Z-Maske jedes Sprites zu speichern?
Gute Kandidaten für 2.5D sind RPG-Spiele, denke Baldur's Gate-Serie oder RTS, denke Age of Empires 1 und 2 (AoE 3 ist vollständig 3D und leicht zu unterscheiden).
Nützliche Hinweise:
Z-Buffering: http://en.wikipedia.org/wiki/Z-buffering
Orthographische Projektionen: http://glasnost.itcarlow.ie/~powerk/GeneralGraphicsNotes/projection/orthographicprojection.html
quelle