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?
2.5d
terminology
mathieug
la source
la source
Réponses:
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:
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.
la source
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).
la source
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.
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 "
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.
la source
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.
la source
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.
la source
2.5D
c'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.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
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.
la source
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.
la source
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.
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.
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:
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
la source