Pourquoi Y est-il présent dans de nombreux jeux?

19

J'ai appris à l'école que l'axe z est en place. C'est la même chose dans les logiciels de modélisation comme Blender. Cependant, dans de nombreux jeux, l'axe y est en hausse.

Quelle est la raison?

danijar
la source
En fait, ici à l'université, beaucoup de gens dessinent y vers le haut quand ils dessinent une image 2D (devinez parce qu'en 2D y est aussi vers le haut et souvent nous utilisons simplement la 3D comme généralisation de la 2D lorsque nous montrons des exemples). Je ne me souviens pas que nous ayons vraiment appris une règle à l'école.
Aufziehvogel
4
Réponse simple: pendant des millions d'années, les mathématiciens ont dessiné des graphiques XY sur du papier, X allant de gauche à droite et Y de haut en bas, et lorsque la profondeur a été ajoutée, elle est devenue Z entrant dans le papier. Réponse pas si simple: personne n'est d'accord sur quoi que ce soit, pourquoi seraient-ils d'accord sur des axes arbitraires? =)
Patrick Hughes
Je trouve aussi ce compteur intuitif pour la 2D, peut-être parce que j'ai commencé avec XNA où Y descend. Mais les choses à l'arrière doivent être dessinées en premier et plus haut dans l'espace de l'écran signifie souvent plus loin. Cela se traduit par le retournement de certains y lors du dessin de tilemaps et la logique devient maladroite.
Madmenyo
Notez que si nous avons initialement travaillé avec des graphiques ZY avec Z dans le haut, nous n'aurions pas ce problème - nous aurions juste introduit un axe X et nous en aurions fini avec. (Ou, de même, si nous ajoutions un axe W à nos graphiques YX, nous n'aurions pas non plus cette confusion.)
Little Endian

Réponses:

46

Je pense que la direction des axes de coordonnées sont des traces de différents domaines où le plan crucial était différent, et X / Y étaient alignés avec ce plan crucial. Dans certaines applications, le plan du sol était le plus important, donc X / Y étaient le sol et Z s'est retrouvé perpendiculaire à cela. Pour les jeux, cependant, le plan crucial est généralement l'écran (en particulier bien sûr à l'époque où ils étaient en 2D et qui commençaient tout juste à passer à la 3D), donc X / Y était l'écran, puis lorsque les jeux sont devenus 3D, Z s'est retrouvé perpendiculaire à cela.

Vous pouvez voir ce genre de distinction entre les deux plus grands outils d'art 3D: 3ds max et Maya. L'axe Z est en hausse dans 3ds max parce que cela est né d'outils architecturaux, tandis que l'axe Y est en hausse dans Maya parce que cela est né d'outils de création de films.

La chose importante à réaliser en comparant un outil spécifique à ce que vous avez appris à l'école est que tout est arbitraire. Peu importe la façon dont les axes sont pointés tant que vous gardez tout cohérent et traduisez correctement entre les différents systèmes de coordonnées.

jhocking
la source
3

C'est surtout un héritage de l'époque où tout ce qui aurait pu être fait avec la 3D était un cube rotatif écran-espace ou un défilement de parallaxe ou quelque chose de similaire. Dans de telles applications, Z était "profondeur" car X et Y étaient les axes du plan de l'écran. Au fur et à mesure que les démos devenaient plus avancées, les conventions d'origine sont restées car il est plus facile de ne rien changer qui fonctionne.

Quant à savoir pourquoi les jeux d'aujourd'hui ont exactement Y comme axe vertical - il existe de nombreux tutoriels mal écrits qui n'expliquent pas la différence. Il est généralement plus utile d'avoir le plan de déplacement principal sur les axes X et Y (de sorte que la plupart des calculs 2D ne nécessitent pas de permuter les axes dans le code). Pour la plupart des scrolls latéraux, il coïncide tout naturellement avec le plan de l'écran (X / Y). Pour les jeux d'aventure et autres, X / Y fonctionne bien comme plan horizontal (perpendiculaire à la direction de la gravité) car il correspond parfaitement aux cartes en jeu, aux commandes de la manette de jeu, aux cartes de hauteur du terrain et bien d'autres choses.

snake5
la source
2

Pour autant que j'aie jamais glané le Y = haut / bas, et Z = la profondeur est basée sur la physique où la gravité est toujours dans la direction (-Y), puis l'ajout de 3D signifie que vous ne voulez pas changer un fondamental , il a donc été rendu en profondeur.

Sur la méthode Z = haut / bas, c'est un retour aux mathématiciens. parce que X / Y était dessiné sur le papier qui était à plat sur la table lorsque l'axe Z était étendu, il sortait du papier, et donc vers le haut. bien que beaucoup de vos ingénieurs utilisent également cette convention.

en ce qui concerne la convention utilisée par l'outil donné: Maya et Unity ont Y-up (probablement conçu par quelqu'un avec une formation en physique). tandis que 3DsMax et Unreal ont Z-up (probablement conçu par des mathématiciens / ingénieurs). bien que l'on puisse également dire que cela pourrait également être une décision partagée prise un jour parce qu'un système cohérent devait être utilisé.

puisque cette question se concentre sur un outil de modélisation, et est placée sur un site de questions et réponses sur le développement de jeux. vous voudrez peut-être vérifier dans quel système de coordonnées vous allez exporter et vous assurer que vous vous y conformez.

réalisez également que certains systèmes, le système d'axes est dur et permanent, et d'autres, il peut être modifié (pensez qu'il peut être changé dans Blender et Unreal, mais peut être confondu)

gardian06
la source
1

Parce que le système de coordonnées utilisé dans les jeux est basé sur la dimension du moniteur. Lorsque l'ordinateur affiche quoi que ce soit, il commence dans le coin supérieur gauche qui donne les coordonnées x et y de [0, 0]. À mesure que le rendu progresse vers le côté droit de l'écran, la valeur x augmente, respectivement lorsque le rendu descend, la valeur y augmente. Le système de coordonnées est fondamentalement celui d'un espace 2D, sauf que l'origine se trouve dans le coin supérieur gauche et non au centre de votre écran.

Dans les packages 3D tels que 3DsMax et Maya, ils ont leur propre définition des coordonnées x et y en fonction de ce qui est important pour eux. 3DsMax était basé sur la conception architecturale, si vous dessinez un schéma sur un plan 2D, y est en place. En Maya, qui est principalement utilisé pour l'animation, le sol est donc x, y et la hauteur est z.

Frankie Law
la source
Dans Maya, l'écran est X / Y et Z est perpendiculaire à l'écran.
jhocking
Voté, parce que la question est "Pourquoi" pas "Comment", il manque les raisons pour lesquelles il est tel qu'il est, réitérant simplement comment il est.
Maik Semder
Eh bien, pour être juste, le premier mot est "parce que" c'est-à-dire. cette réponse commence par une explication des raisons. Ce n'est peut-être pas une bonne explication, mais c'est une explication.
jhocking