Qu'est-ce qu'un environnement «2.5D»?

31

Je ne comprends pas le sens du terme "2.5D". Je suis particulièrement confus quant à la différence entre les environnements 2.5D et 3D, même si j'ai lu différentes définitions et articles sur les deux. Je comprends les parties où 2.5D est comme la 3D mais je ne comprends pas les parties où 2.5D est différent.

Alors, qu'est-ce que cela signifie pour un jeu d'être 2.5D? Par exemple, le jeu présenté ici est-il 2.5D?

Mario

mathieug
la source
10
Pour autant que je sache, son 2.5D lorsque des sprites sont utilisés pour simuler un look 3D. Chaque fois que vous avez une caméra fixe mais que vous travaillez toujours avec la géométrie 3D, c'est toujours un jeu 3D. D'après la capture d'écran, il semble que Mario soit un modèle 3D, de sorte que le jeu semble être entièrement en 3D. Il s'agit de savoir si vous émulez de la 3D ou effectuez un rendu de géométrie 3D dans un pipeline 3D typique.
Grimshaw
@Grimshaw Alors, 2.5D signifie-t-il que le moteur peut être 2D avec des modèles 3D par exemple? Je suis sûr qu'il y a une contrepartie si vous faites ce genre de jeu avec un moteur 2D et aussi avec un moteur 3D. Que sont-ils? Coût de performance pour la 3D?
mathieug
4
2.5D signifie presque exclusivement que vous utilisez des images 2D (sprites) pour restituer votre monde, même s'il ressemble à de la 3D. Vérifiez les jeux isométriques comme Clash of Clans pour des exemples de jeux 2.5D, entièrement rendus en 2D, mais cela ressemble à un jeu 3D. Lorsque vous commencez à mettre vos modèles 3D dans votre monde, vous passez à la 3D complète et le terme 2.5D ne s'applique plus. C'est-à-dire que la caméra n'a aucun rapport avec le fait que vous effectuiez ou non le rendu 3D. La 3D ne concerne pas les projections ou le comportement de la caméra, mais plutôt la géométrie.
Grimshaw
Cette question semble être hors sujet car elle concerne les fonctionnalités d'un jeu particulier. Une question demandant (uniquement) quelle serait la définition ou la signification du terme "2.5D" (je pense que nous en avons déjà un flottant), mais demander si c'est un jeu particulier ne l'est pas avoir quelque chose à voir avec la création de votre jeu; et vous demander si vous devriez faire un jeu 2.5D et pourquoi ce n'est pas objectif.
Josh
3
@JoshPetrie Quoi? Comment l'ajout d'un exemple où sa compréhension mène à l'ambiguïté empêche-t-il la question d'être généralement utile? Dans ce cas (où la question centrale est parfaitement valable mais où il y a une petite quantité de ballonnement causée par OP s'expliquant plutôt maladroitement), la question doit être laissée ouverte. Si c'est un doublon, fermez-le comme doublon.
ClassicThunder

Réponses:

60

Les termes 2D et 3D (comme vous le savez probablement déjà) se réfèrent au nombre de dimensions spatiales dans un espace-monde euclidien. Cette dimensionnalité doit être un nombre ordinal; il n'y a pas de demi-dimension , donc le terme 2.5D est vraiment un terme non-sens, et n'a aucune signification intrinsèque. Cela dit, 2,5 est "quelque part entre" 2 et 3, donc 2,5D signifie généralement quelque chose comme "quelque part entre 2D et 3D".

Personnellement, j'utilise le terme pour faire référence aux cas où les espaces-monde graphiques et logiques d'un jeu ont des dimensions différentes. En particulier, il existe deux variantes différentes ici:

  • Logique 2D et graphique 3D . Par exemple, un jeu de plateforme avec mécanique et physique de jeu 2D, mais rendu avec des maillages 3D et une caméra en perspective. La plupart des remakes de jeux d'arcade classiques comme Pac-Man, Breakout, etc. entrent dans cette catégorie. Sur la photo ci-dessous: Pineapple Smash Crew

Pineapple Smash Crew se déroule dans un monde 2D, mais il est rendu en 3D.

  • Logique 3D et graphique 2D . Les exemples incluent des jeux comme Gnomoria ou SimCity 2000 qui ont des mondes de jeu 3D, mais sont rendus dans une vue isométrique 2D. Sur la photo ci-dessous: Xenonauts

Les attaques au sol de Xenonauts ont lieu sur une grille 3D, mais elles sont entièrement rendues à l'aide de sprites 2D.

Une autre utilisation courante du terme (mais pas celle que j'utilise) fait référence aux jeux qui utilisent une combinaison de graphiques 2D et d' affichage 2D. Dans ce cas, le terme ne décrit pas du tout la dimensionnalité logique du jeu. Pratiquement tous les jeux 3D utilisent le panneau d'affichage d'une manière ou d'une autre, y compris les systèmes de particules, les proxys d'objets distants et les superpositions d'interface utilisateur dans le monde. Par conséquent, le terme n'est généralement utilisé que lorsqu'une partie importante d'objets non liés à l'arrière-plan utilise des graphiques 2D et que la frontière entre 2.5D et 3D est quelque peu floue.

bcrist
la source
17
Soit dit en passant, il existe une dimension fractionnaire, mais cela n'a rien à voir avec le terme de développement de jeu "2.5D"; il revient à étudier les fractales et autres formes topologiques étranges. Par exemple, la surface quadratique de Koch (type 2) a une dimension de Hausdorff (une façon courante de définir la dimension fractale) d'exactement 2,5.
Lily Chung
9
@IstvanChung Oui, techniquement, vous avez raison et j'ai envisagé de le mentionner, mais j'ai pensé que cela ne ferait qu'embrouiller le problème. Je pense que peu de développeurs de jeux ont besoin de connaître les espaces topologiques en dehors de l'espace euclidien à n dimensions, et s'ils le font, il est probable qu'ils comprennent que je ne parle pas de fractales.
bcrist
1
@Pharap et ... c'est fait!
bcrist
2
@bcrist Si je pouvais voter une deuxième fois, je le ferais, alors je vais juste demander à quelqu'un de voter pour moi avec la puissance de mon cerveau.
Pharap
2
J'aime vraiment cette distinction logique vs graphique. Bien que la plupart des réponses / commentaires semblent supposer que 2.5D signifie des graphiques 2D, j'ai tendance à penser aux graphiques 3D. donc votre distinction logique vs graphique est un excellent moyen d'englober les deux notions de 2.5D
jhocking
27

Le premier jeu à ma connaissance auquel le terme "2.5D" était appliqué était Doom (bien que Wolfenstein 3D soit également admissible dans un certain sens).

Wolfenstein 3D était un jeu essentiellement 2D avec une présentation 3D. Vous naviguiez dans un labyrinthe 2D, tous les sols étaient plats, tous les plafonds étaient à la même hauteur, il n'y avait pas de fenêtres, les portes étaient du sol au plafond et ouvertes sur le côté, et vous ne pouviez jamais être au-dessus ou en dessous d'un autre objet. Le jeu a utilisé le raycasting pour déterminer, pour chaque colonne de l'écran, à quelle distance le mur était dans cette direction, et quelle texture avait le mur; puis une colonne de la texture du mur a été dessinée avec une hauteur inversement proportionnelle à la distance, et l'espace au-dessus et en dessous a été peint avec un remplissage de plancher et un remplissage de plafond. Les ennemis et les objets étaient des sprites, avec un nombre limité d'aspects, et leur taille à nouveau proportionnelle à la distance.

Doom a utilisé une technologie très similaire à Wolfenstein 3D, mais en a abusé pour obtenir une expérience plus 3D. Les cartes étaient toujours2D, représenté à l'aide du partitionnement d'espace binaire 2D (d'où le nom de fichier de la carte .BSP). Ce que vous avez vu sur la carte automatique lorsque vous appuyez sur l'onglet n'était qu'un rendu 2D direct de la carte. Mais chaque secteur avait une "hauteur de plancher" et une "hauteur de plafond" indépendantes, et les bords avaient des textures latérales supérieure et inférieure (utilisées lorsqu'ils avaient une hauteur de plafond inférieure ou une hauteur de plancher plus élevée qu'une partie de leur environnement). Cela a permis des escaliers, des fenêtres, des plates-formes, des piscines et d'autres effets - le moteur devait juste être en mesure de garder une liste de plusieurs secteurs traversés avant de heurter un mur et leurs textures respectives. Mais vous ne pouviez toujours pas avoir une véritable architecture 3D - vous pourriez faire un "pont" à travers une boue en utilisant une section de plancher surélevée, mais il serait impossible que quoi que ce soit soit sousle pont. Une position dans le jeu n'est toujours que X et Y. Le seul contrôle que le joueur a sur sa hauteur est la chute des choses et les ascenseurs, qui sont simplement des secteurs qui sont programmés pour changer la hauteur de leur plancher. Les ennemis sont toujours des sprites (bien que je pense qu'ils aient plus d'aspects), les tirs "auto-visent" en hauteur car la détection de collision n'est qu'en 2 dimensions, et il n'y avait pas de modèle 3D dans le jeu.

Heretic et Hexen ont utilisé des moteurs dérivés de Doom qui ont poussé les choses encore plus loin, au point qu'ils étaient parfois appelés "2.75D"; ils avaient la plupart des mêmes limitations architecturales et ennemis basés sur les sprites, mais ajoutaient la possibilité pour le joueur de regarder de haut en bas (incliner la vue, mais seulement jusqu'à présent sinon le moteur se briserait) et de sauter, voler et s'accroupir (changer leur hauteur indépendamment).

Hobbs
la source
1
+1, je n'ai entendu le terme 2.5D que lorsque les gens faisaient référence au raycasting. Bonne explication!
Ruben
5
+1 cette réponse est correcte en ce qui concerne la première utilisation historique du terme.
R ..
c'est la réponse la plus (pratiquement) correcte, je ne sais pas pourquoi ce n'est pas la première…
Sarge Borsch
Bien que cette réponse puisse être historiquement correcte, ce n'est pas la définition standard acceptée ou attendue de l'industrie. Aujourd'hui, tout jeu décrit comme 2.5D est universellement connu pour avoir un rendu 2D avec un look 3D.
Ted Bigham
Je pense que la limite de recherche vers le haut / bas pour des jeux comme Heretic était basée sur le fait que les hauteurs des objets n'étaient prises en compte que dans les coordonnées Y de l'écran et non dans les coordonnées X, et donc toutes les lignes verticales d'une scène seraient rendues verticales. Si l'on regarde vers le haut ou vers le bas à un angle peu profond, ce ne serait pas trop perceptible, mais à des angles plus raides, ce serait très répréhensible. Je ne pense pas que des angles plus raides auraient brisé le moteur, mais simplement l'illusion.
supercat
11

2.5D

2.5D ("deux dimensions et demie"), perspective ¾ et termes ar pseudo-3D, principalement dans l'industrie du jeu vidéo, utilisés pour décrire des projections graphiques 2D et des techniques similaires utilisées pour provoquer une série d'images (ou scènes) pour simuler l'apparence d'être tridimensionnel (3D) alors qu'en fait ils ne le sont pas, ou le gameplay dans un jeu vidéo par ailleurs tridimensionnel qui est limité à un plan bidimensionnel.

D'après mon expérience, la définition qui est soulignée dépend de l'âge de la personne à qui vous parlez.

  1. Les joueurs plus âgés ont tendance à utiliser la 1ère définition " Projections graphiques 2D et techniques similaires utilisées pour provoquer une série d'images (ou scènes) pour simuler l'apparence d'être en trois dimensions (3D) alors qu'en fait elles ne le sont pas "

  2. Les jeunes joueurs utilisent la 2ème définition " gameplay dans un jeu vidéo par ailleurs tridimensionnel qui est limité à un plan bidimensionnel ".

Personnellement j'utilise la 2ème définition. Trine, Donkey Kong et Super Mario Bros Wii U seraient tous à 2,5D à mon avis. De plus, la balise Steam 2.5D utilise la deuxième définition. Je pense que c'est un bon test décisif pour savoir comment un joueur typique définit le concept) et en tant que tel, je pense que la 2ème définition est plus correcte .

3D

Tout jeu vidéo avec des graphismes de jeu 3D, calculés en 3 dimensions. Notez que cela en fait un super-ensemble de la deuxième définition 2.5D.

ClassicThunder
la source
J'ai trouvé que le jeu de plateforme Shadow Complex était un cas très intéressant, car les interactions pouvaient se produire en 3D, même l'emplacement des ennemis. Mais viser votre arme sur eux impliquait de pointer l'angle 2D qui s'alignait avec l'endroit où la projection 3D les plaçait sur l'écran. Ensuite, le personnage a pris soin de ne pas projeter cet angle et de pointer son arme dans l'axe Z.
Seth Battin
6

2.5D est juste une façon pratique de dire 2D qui ressemble à 3D.
Je suppose que vous pourriez vraiment brouiller les lignes de la définition si, par exemple, vous utilisez un moteur 3D mais que vous limitez le gameplay à un plan 2D, mais personnellement, je considérerais que quelque chose de 2.5D est qu'il a l' air 3D mais agit en 2D.

DFreeman
la source
Merci. Mon idée de projet ressemblerait à de la 3D mais je me pose toujours des questions sur les moteurs 2D ou 3D et tout ça. Pouvez-vous m'en dire plus sur 2.5D / 3D orienté vers la capture d'écran que j'ai postée?
mathieug
J'ai peur de ne pas voir la capture d'écran (bloquée au travail) donc je ne peux pas commenter.
DFreeman
3

La capture d'écran du jeu que vous avez publiée est un jeu en 3D.

Dans un jeu 3D, les objets sont dessinés à l'aide de sommets pour dessiner des objets 3D réels, qui sont ensuite colorés, texturés, etc.

Dans un jeu 2D, les objets sont tirés de sprites / feuilles de sprites, etc.

La différence entre les deux est la façon dont vous pouvez les visualiser. Un sprite est comme un morceau de papier plat. Vous ne pouvez pas le voir à un angle ou un angle différent ou le sprite sera asymétrique. Sur un objet 3D, lorsque la caméra se déplace, vous pouvez voir différentes parties de l'objet parce que l'objet est bien en 3D.

Dans un jeu 2.5D, vous combinez ces deux mondes. Gardez à l'esprit juste parce que vous ne pouvez pas déplacer une caméra pour voir différents angles, ne fait pas un jeu pas en 3D. Ce sont les objets qui s'y trouvent qui déterminent cela.

Un bon exemple de jeu 2.5D est Ragnarok Online. Ce qui le rend 2.5D, c'est que le monde est principalement compromis d'objets 3D. Les bâtiments, le paysage, etc. sont des objets 3D texturés. Vous pouvez faire pivoter la caméra aérienne et voir différents côtés de ces objets en même temps. Vous pouvez voir la face avant d'un bâtiment ainsi qu'une zone gauche / droite / toit. Cependant, les joueurs sont des sprites 2D positionnés pour sembler se tenir debout. Si vous faites trop tourner la caméra, le jeu doit charger une cellule différente de la feuille de sprite pour que ce personnage change la façon dont il semble se tenir. Vous ne pouvez pas voir différents angles du personnage car ils ne sont pas en 3D. Les angles sont chargés dynamiquement en fonction de la vue de la caméra.

http://sprites.technoized.com/images/sprite/ro/gm_m.png

Ceci est une feuille de sprite du jeu. Si vous deviez simplement le regarder, vous supposeriez qu'il s'agit d'un jeu 2D. Seul, vous auriez raison. Mais une fois qu'il est placé dans un monde 3D, vous avez un jeu 2.5D.

Joe Swindell
la source
Je pense que 2.5Dc'est trompeur car c'est juste une interprétation humaine, etc. pas quelque chose de technique à ce sujet. Par exemple, quel est votre jeu si vous utilisez la technique Billboard pour tout (etc. quads texturés) sur un environnement 3D, s'ils sont toujours tournés devant vous? Certains pourraient dire 2.5D mais la plupart du pack dira 3D car il y a une profondeur Z. Techniquement, s'il utilise des sommets 3D (donc la dimension z) c'est 3D, s'il n'utilise que X / Y (disons, Super Mario bros ) alors c'est 2D. Mais s'il n'utilise que 2D (x / y) sur un environnement 3D (y compris les personnages), alors c'est toujours 3D mais 2.5D par interprétation .
2

2.5D est souvent une autre façon de dire "isométrique" - des graphiques 2D dessinés de manière à donner l'apparence de la 3D, mais pas réellement à simuler des coordonnées 3D. Voir l'article de wikipedia sur les graphiques isométriques: http://en.wikipedia.org/wiki/Isometric_graphics_in_video_games_and_pixel_art

L'essentiel est qu'en 2.5D / isométrique, vous utilisez toujours un système de coordonnées 2D - avec les axes x et y uniquement pour calculer vos graphiques. Vos graphiques peuvent simplement être des images-objets 2D, qui sont généralement dessinées de manière à ce que vous puissiez voir trois faces, puis placées sur l'écran en utilisant les coordonnées (x, y). Parfois, les sprites sont même créés par modélisation en 3D, puis en créant des sprites 2D du modèle 3D sous plusieurs angles.

Les objets en mouvement ne présentent généralement que quelques angles de vue. Si vous faites tourner un personnage dans une vue isométrique, il ne tournera pas en douceur, mais vous verrez plusieurs angles distincts, tels que l'avant, 3/4, le côté, etc. En effet, chaque angle de vue unique nécessite un tout nouvel ensemble de sprites.

Les jeux isométriques ne prennent généralement en charge qu'un seul angle de caméra, en raison des limites de ce type de système. Une autre caractéristique distinctive des jeux isométriques est qu'ils n'ont généralement pas de points de fuite. Lorsque vous regardez un objet dans la vie réelle, si l'objet est plus proche de vous, l'objet apparaîtra plus grand dans votre vision. Si l'objet est plus éloigné, il apparaîtra plus petit. Dans les jeux isométriques, tous les objets apparaissent généralement de la même taille, peu importe où ils se trouvent dans l'espace.

Les jeux 3D en comparaison, simulent les 3 axes - x, y et z. À un niveau très bas, l'ordinateur traduit x, y et z en x, y pour être affiché sur un moniteur, mais à un niveau supérieur, les artistes manipulent en fait des points sur 3 axes pour représenter des objets. Étant donné que l'ordinateur dispose de toutes les informations sur la forme de l'objet, il peut calculer dynamiquement l'apparence de cet objet sous n'importe quel angle, et il peut apparaître plus petit ou plus grand à mesure que vous vous rapprochez ou que vous vous en éloignez.

Certains jeux sont un mélange de 2.5D et de vrai 3D. Un exemple auquel je peux penser est la série Disgaea, qui présente des arrière-plans 3D et des sprites 2D.


la source
2

Je ne sais pas quelle serait la définition la plus acceptée, mais moi et les gens de mon entreprise précédente considérions "tout jeu qui ressemble à la 3D isométrique, mais qui est rendu via des sprites 2D" comme étant 2.5D.

Maintenant, laissez-moi vous expliquer pourquoi nous avons fait cela. Généralement, le rendu d'un monde 3D avec beaucoup d'objets créera trop de pression sur le traitement, réduisant le nombre de FPS. Donc, pour surmonter cela, nous avons généralement créé des objets dans un logiciel de rendu 3D comme Maya et les avons rendus sous forme de sprites. Qui peut être utilisé dans le jeu. Sans oublier que l'angle a été pris en compte lors du rendu. Donc, pour parler de cette technologie avec l'éditeur, nous avons normalement utilisé ce terme. Un monde 3D qui ressemble à un monde 2D est toujours techniquement 3D pour nous. Nous n'avons donc généralement pas utilisé le terme pour cette méthode. J'ai pensé que je devrais partager ma part ici.

Noob
la source
1

Habituellement, le terme "2.5-D" fait référence à l'un des deux styles de jeux très différents.

Cela pourrait signifier:

1) Un jeu qui utilise des techniques de rendu 2D, mais qui contrôle en 3 dimensions spatiales. Utilise généralement des astuces graphiques pour apparaître comme si elles étaient réellement rendues en 3D. C'était très courant dans les années 90, mais pas tellement aujourd'hui. (Exemples: "DOOM", "Duke Nukem 3D", "Wolfenstein 3D")

2) Un jeu rendu entièrement en 3D, mais qui contrôle exclusivement le long d'un ou plusieurs plans 2D. Ce style reste très populaire à ce jour. (Exemples: "Little Big Planet", "New Super Mario Bros.", "Trials HD")

Une chose à noter est que lorsque vous utilisez le modèle architectural modèle-vue-contrôleur, le premier style de jeu a un "modèle" qui représente les données en 3 dimensions mais une "vue" qui ne les affiche à l'utilisateur qu'en 2 dimensions; le deuxième style de jeu est l'inverse.

android927
la source
0

Dans 2.5D, vous utilisez des ressources / techniques de rendu 2D pour donner la sensation d'un environnement 3D.

Maintenant, avec cette définition, dans le scénario potentiellement ambigu suivant, une élaboration est nécessaire:

Jeu A

À l'aide de graphiques 3D, le GPU a accéléré et tout (les objets du jeu sont des maillages, pas des images), avec un angle de caméra fixe. Rendons-le encore pire, la projection est orthographique, les 63,43 degrés classiques. La seule façon de remarquer à première vue que les graphiques ne sont pas 2D est parce que 3DGC, sauf que vous les rendez avec un soin extrême, se différencie facilement des sprites de dessin à la main, quelle que soit la projection utilisée pour les rendre. Vous pouvez expérimenter différentes techniques de rendu, paramètres, shaders, etc., et vous aurez du mal à cacher le fait qu'il s'agit de maillages 3D.

Jeu B

Un portage du jeu A, mais ciblant des plates-formes connues pour avoir du matériel qui ne gère pas très bien les graphiques 3D ou ne le gère pas du tout. Ensuite, le port remplace les maillages par des sprites. Il utilise toujours des boîtes de délimitation 3D pour les collisions, par exemple, et les objets ont une propriété de position avec des valeurs x, y et z, car la logique du jeu n'a généralement pas été touchée ou pas du tout touchée, seul le code de rendu a été modifié.

Comme les sprites du jeu B sont des rendus des actifs 3D du jeu A et, pour rendre les choses plus ambiguës, le jeu A ne fait rien qui nécessite des shaders compliqués, dans 99% de tous les GPU, vous ne pouvez pas différencier une image du jeu B d'un cadre du jeu A.

Dans 2.5D, l'interaction entre les objets du jeu est limitée à l'ensemble des situations où l'illusion de la 3D ne peut pas être compromise. Pour représenter deux caractères étreignant, par exemple, vous devrez créer un fichier image unique avec les deux caractères interagissant, car essayer de représenter l'action de câlin en n'utilisant qu'une seule image par caractère serait trop difficile ou impossible. Vous pouvez peut-être venir avec un corps de personnage divisé en parties et les dessiner dans le bon ordre. En 3D ce problème n'existe pas (il en existe un autre qui pose correctement les deux personnages pour qu'ils ne pénètrent pas dans le maillage de l'autre personnage).

Maintenant, pour visualiser cela, imaginez que les jeux A et B ont un bug qui, dans certaines situations, permet au personnage du joueur de passer à travers un autre objet de jeu, ce qui nous permet de différencier facilement le 2.5D et le 3D.


Jeu B, 2.5D Render, les sprites sont classés par la valeur z de son vecteur de position. Dans cet exemple, le z positif est en baisse et le z négatif en hausse. l'axe z et l'axe y sont parallèles mais z est mis à l'échelle par un facteur de 0,5 de y. Donc, si la zone visible est de 10y à -10y, dans la même zone, nous avons de 20z à -20z. Les objets avec un z supérieur seront dessinés plus tard, ils seront donc vus comme devant des objets avec un z inférieur. L'ombre du personnage du joueur a l'air bizarre parce que les ombres sont dans une couche supérieure au sol, mais dans une couche inférieure à tous les autres objets, de sorte que l'ombre du personnage du joueur n'est jamais au-dessus du cube.

Rendu 2.5D


Jeu A, rendu 3D. Le tampon de profondeur (également appelé z-buffer) est utilisé pour les tests de profondeur de précision des pixels. Donc, un objet n'a pas besoin d'en occlure complètement un autre, même un triangle n'a pas besoin d'en occlure complètement un autre, nous avons un test de profondeur de précision en pixels. Nous pouvons faire pivoter les objets du jeu de n'importe quelle manière et obtenir des résultats réalistes lorsqu'ils interagissent.

Rendu 3D

En résumé: en 2.5D, un sprite est devant ou derrière un autre sprite. En 3D, un maillage est constitué de triangles, mais le triangle n'est pas l'unité minimale lors du test de profondeur, vous pouvez avoir une précision en pixels. Bien sûr, la rotation de la caméra en 2.5D est impossible car les actifs ont été créés pour un angle de caméra fixe, tandis qu'en 3D, c'est naturel, si les angles de la caméra sont restreints par la conception dans un jeu 3D est un autre sujet.


Il existe différentes astuces pour donner l'impression d'être dans un monde 3D lorsque vous ne pouvez rendre que des graphiques 2D, je n'ai présenté qu'un exemple rapidement élaboré en utilisant certains atouts d'un de mes projets abandonnés.

Pourquoi ne pas simplement utiliser la 3D toujours et oublier le 2.5D?

Eh bien, je peux penser dans certains exemples pourquoi un développeur peut préférer l'approche 2.5D:

  • Peut-être qu'ils ne connaissent pas ou n'aiment pas les API 3D (Direct3D, OpenGL, il y en a d'autres).
  • Peut-être que la plate-forme cible ne gère pas bien les graphiques 3D (anciens ordinateurs de bureau, consoles 2D).
  • Votre équipe peut faire des sprites incroyables mais pas des modèles 3D.

Combien pouvez-vous approximer les résultats des graphiques 3D en utilisant 2.5D?

Il y a un horizon de performance et de complexité de programmation. Lorsque vous vous rapprochez de cet horizon, vous commencez à douter si votre projet est vraiment possible en 2.5D ou si vous devez aller en 3D. Par exemple, vous pouvez utiliser la mise en mémoire tampon z en 2.5D (en théorie), mais pouvez-vous payer le coût de la mémoire vidéo (ancien ordinateur de bureau avec carte graphique intégrée, pas d'appareils mobiles puissants)? Voulez-vous payer le coût de stockage d'une image supplémentaire pour enregistrer le z-mask de chaque sprite?

Les bons candidats pour 2.5D sont les jeux RPG, pensez à la série Baldur's Gate ou RTS, pensez à Age of Empires 1 et 2 (AoE 3 est entièrement en 3D et se différencie facilement).

Références utiles:

Z-Buffering: http://en.wikipedia.org/wiki/Z-buffering

Projections orthographiques: http://glasnost.itcarlow.ie/~powerk/GeneralGraphicsNotes/projection/orthographicprojection.html

Hatoru Hansou
la source