Was ist eine 2.5D-Umgebung?


31

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?

Mario


10
Soweit ich weiß, ist es 2.5D, wenn Sprites verwendet werden, um einen 3D-Look zu simulieren. Wenn Sie eine feste Kamera haben, aber immer noch mit 3D-Geometrie arbeiten, ist dies immer noch ein 3D-Spiel. Auf dem Screenshot sieht es so aus, als wäre Mario ein 3D-Modell, sodass das Spiel voll in 3D zu sein scheint. Es geht darum, ob Sie 3D emulieren oder tatsächlich 3D-Geometrie in einer typischen 3D-Pipeline rendern.
Grimshaw

@Grimshaw Bedeutet 2.5D, dass die Engine beispielsweise 2D mit 3D-Modellen sein kann? Ich bin mir sicher, dass es ein Gegenstück gibt, wenn Sie diese Art von Spiel mit 2D-Engine und auch mit 3D-Engine machen. Was sind Sie? Leistungskosten für 3D?
Mathieug

4
2.5D bedeutet, dass Sie fast ausschließlich 2D-Bilder (Sprites) verwenden, um Ihre Welt zu rendern, auch wenn sie wie 3D aussieht. In isometrischen Spielen wie Clash of Clans finden Sie Beispiele für 2.5D-Spiele, die vollständig in 2D gerendert wurden, aber wie ein 3D-Spiel aussehen. Wenn Sie mit dem Einfügen von 3D-Modellen in Ihre Welt beginnen, werden Sie vollständig in 3D dargestellt, und der 2.5D-Begriff wird nicht mehr verwendet. Dies bedeutet, dass die Kamera keine Beziehung dazu hat, ob Sie 3D rendern oder nicht. Bei 3D geht es nicht um Projektionen oder Kameraverhalten, sondern um Geometrie.
Grimshaw

Diese Frage scheint nicht zum Thema zu gehören, da es sich um die Funktionen eines bestimmten Spiels handelt. Eine Frage, in der (nur) gefragt wird, was die Definition oder Bedeutung des Begriffs "2.5D" angemessen ist (ich habe das Gefühl, dass wir bereits eine haben), aber die Frage, ob dies für ein bestimmtes Spiel nicht der Fall ist habe irgendetwas damit zu tun, dein Spiel zu machen; und fragen, ob Sie ein 2.5D-Spiel machen sollten und warum es nicht objektiv ist.
Josh

3
@ JoshPetrie Was? Wie verhindert das Hinzufügen eines Beispiels, bei dem sein Verständnis zu Mehrdeutigkeiten führt, dass die Frage allgemein nützlich ist? In diesem Fall (in dem die Kernfrage vollkommen zutreffend ist, es jedoch eine geringfügige Aufblähung gibt, die von OP verursacht wird, das sich eher ungeschickt erklärt) sollte die Frage offen gelassen werden. Wenn es ein Duplikat ist, schließen Sie es als Duplikat.
ClassicThunder

Antworten:


60

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:

  • 2D logisch & 3D grafisch . Zum Beispiel ein Plattformer mit 2D-Spielmechanik und -Physik, der jedoch mit 3D-Meshes und einer perspektivischen Kamera gerendert wird. Die meisten Remakes klassischer Arcade-Spiele wie Pac-Man, Breakout usw. fallen in diese Kategorie. Unten abgebildet: Pineapple Smash Crew

Pineapple Smash Crew spielt in einer 2D-Welt, wird aber in 3D gerendert.

  • 3D logisch & 2D grafisch . Beispiele hierfür sind Spiele wie Gnomoria oder SimCity 2000 mit 3D-Spielwelten, die jedoch in einer isometrischen 2D-Ansicht gerendert werden. Unten abgebildet : Xenonauten

Xenonauts Bodenangriffe finden in einem 3D-Raster statt, es wird jedoch ausschließlich mit 2D-Sprites gerendert.

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.


17
Übrigens gibt es so etwas wie eine fraktionierte Dimension, aber es hat nichts mit dem Begriff "2.5D" für die Spielentwicklung zu tun. es taucht beim Studium von Fraktalen und anderen sonderbaren topologischen Formen auf. Beispielsweise hat die quadratische Koch-Oberfläche (Typ 2) eine Hausdorff-Dimension (eine übliche Art, fraktale Dimension zu definieren) von genau 2,5.
Lily Chung

9
@IstvanChung Ja, technisch gesehen hast du recht und ich dachte darüber nach, es zu erwähnen, aber ich dachte, es würde das Problem nur verwirren. Ich denke, nur wenige Spieleentwickler müssen etwas über topologische Räume außerhalb des n-dimensionalen euklidischen Raums wissen, und wenn ja, ist es wahrscheinlich, dass sie verstehen, dass ich nicht über Fraktale spreche.
Crist

1
@Pharap und ... fertig!
Bcrist

2
@bcrist Wenn ich ein zweites Mal upvoten könnte würde ich, also werde ich einfach jemanden finden, der mit der Kraft meines Gehirns für mich upvotet.
Pharap

2
Ich mag diese logische vs. grafische Unterscheidung wirklich. Während die meisten Antworten / Kommentare hier davon ausgehen, dass 2.5D 2D-Grafik bedeutet, denke ich eher an 3D-Grafik. Ihre logische oder grafische Unterscheidung ist also eine großartige Möglichkeit, beide Begriffe von 2.5D zu
erfassen

27

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).


1
+1, ich habe den Begriff 2.5D nur gehört, wenn Leute von Raycasting sprachen. Gute Erklärung!
Ruben

5
+1 Diese Antwort ist in Bezug auf die erste historische Verwendung des Begriffs richtig.
R ..

Dies ist die (praktisch) richtigste Antwort, nicht sicher, warum es nicht die erste ist ...
Sarge Borsch

Diese Antwort mag historisch korrekt sein, entspricht jedoch nicht dem Industriestandard oder der erwarteten Definition. Heutzutage wird allgemein verstanden, dass jedes als 2.5D beschriebene Spiel ein 2D-Rendering mit einem 3D-Look hat.
Ted Bigham

Ich denke, das Limit für das Auf- und Abblicken von Spielen wie Heretic basierte auf der Tatsache, dass die Objekthöhen nur in die Y-Koordinaten des Bildschirms und nicht in die X-Koordinaten einbezogen wurden und somit alle vertikalen Linien in einer Szene als vertikal gerendert würden. Wenn man in einem flachen Winkel nach oben oder unten schaut, ist dies nicht allzu auffällig, aber in einem steileren Winkel ist dies sehr zu beanstanden. Ich glaube nicht, dass steilere Winkel den Motor kaputt gemacht hätten, sondern nur die Illusion.
Supercat

11

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.

  1. Ä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. "

  2. 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.


Ich fand den Platformer Shadow Complex ein sehr interessanter Fall, da die Interaktionen in 3D stattfinden könnten, sogar die Position von Feinden. Wenn Sie jedoch Ihre Waffe auf sie richten, müssen Sie auf den 2D-Winkel zeigen, der mit der Position der 3D-Projektion auf dem Bildschirm übereinstimmt. Dann kümmerte sich die Figur darum, diesen Winkel aufzuheben und ihre Waffe in die Z-Achse zu richten.
Seth Battin

6

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 .


Vielen Dank. Meine Projektidee würde wie 3D aussehen, aber ich wundere mich immer noch über 2D- oder 3D-Engine und so. Kannst du mir mehr über 2.5D / 3D erzählen, das sich an dem Screenshot orientiert, den ich gepostet habe?
Mathieug

Leider kann ich den Screenshot nicht sehen (bei der Arbeit blockiert), sodass ich keinen Kommentar abgeben kann.
DFreeman

3

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.


Ich denke, es 2.5Dist 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

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.


2

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.


1

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.


0

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.

2.5D rendern


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.

3D Render

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:

  • Vielleicht kennen sie 3D-APIs nicht oder mögen sie nicht (Direct3D, OpenGL, es gibt andere).
  • Möglicherweise kann die Zielplattform 3D-Grafiken nicht gut verarbeiten (alte Desktop-Computer, 2D-Konsolen).
  • Ihr Team kann erstaunliche Sprites erstellen, jedoch keine 3D-Modelle.

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

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.