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?
graphics
coordinates
view
orientation
axis
danijar
la source
la source
Réponses:
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.
la source
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.
la source
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)
la source
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.
la source