Partage
  • Partager sur Facebook
  • Partager sur Twitter

Axe différent celons les logiciels

10 décembre 2020 à 16:01:20

Bonjour. 

Si j'en viens à écrire un sujet aujourd'hui c'est que ils m'arrive une chose étrange que je ne parvient pas a comprendre. 

Je m'explique sur par exemple blender ou 3D max nous avons bien (AXE Z pour la hauteur Y pour la largeur X pour la longueur).

Parcontre sur roblox studio ou encore d'autres on a (Axe Z largeur Y hauteur X longueur. 

Et la bizarrement c'est différent ...

Pourquoi cette différence ?

Pour moi après avoir réfléchi ce qui me paraît plus logique c'est que l'axe Y soit bien la hauteur car dans un jeu en 2 dimension l'axe Y et bien représentatif de la hauteur. 

J'aimerais vraiment comprendre cette différence entre les différents logiciels merci a celui-ci ou celle qui sera m'expliquer ^_^

  • Partager sur Facebook
  • Partager sur Twitter
10 décembre 2020 à 18:09:21

C'est totalement arbitraire.

Tu pourrais aussi dire que les axes X et Y définissent le plan d'une feuille de papier qui se trouve à plat sur une table. Si tu empiles des feuilles les unes sur les autres, un observateur dira qu'il y a une colonne de papier qui monte vers le plafond.

  • Partager sur Facebook
  • Partager sur Twitter
10 décembre 2020 à 18:40:16

tabouretBleu a écrit:

C'est totalement arbitraire.

Tu pourrais aussi dire que les axes X et Y définissent le plan d'une feuille de papier qui se trouve à plat sur une table. Si tu empiles des feuilles les unes sur les autres, un observateur dira qu'il y a une colonne de papier qui monte vers le plafond.


Donc a ce que je comprend ils y a pas vraiment de norme pour dire les différents axe x peut être la hauteur comme z la largeur et y la longueur ?

  • Partager sur Facebook
  • Partager sur Twitter
10 décembre 2020 à 20:00:30

Je pense pouvoir dire sans me tromper que l'axe des X est toujours le même. Convertir d'un système de coordonnées à l'autre est courant en 3D.
  • Partager sur Facebook
  • Partager sur Twitter
12 décembre 2020 à 19:55:17

la difference que tu remarques est liee a ce qu'on appelle parfois la "handedness" d'un systeme. Pour simplifier, pour generer un repere orthonorme (donc 3 axes X, Y et Z qui sont tous perpendiculaires entre eux), tu peux utiliser un produit vectoriel (https://fr.wikipedia.org/wiki/Produit_vectoriel)

Imaginons 2 vecteurs deja perpendiculaires entre eux, et nommons les, au hasard, X et Y. Le produit vectoriel des vecteurs X et Y donnera un 3e vecteur, qu'on appelera Z, qui sera garanti d'etre perpendiculaire a la fois a X et a Y. Il sera donc perpendiculaire au plan XY. Seulement voila, le produit en croix n'est pas commutatif, ce qui signifie que contrairement au multiplications scalaires (les multiplications qu'on connait), ou 5x3 = 3x5, avec les produits scalaires, X * Y n'equivaut pas a Y * X. Dans un cas, Z partira d'un cote, et dans l'autre cas, Z partira de l'autre cote. C'est ce qui va definir la handedness de ton systeme, donc si tu es dans un "right-hand coordinate system" ou dans un "left hand". Quant a savoir pourquoi on appelle ca right hand et left hand, regarde sur wikipedia et tu vas tout de suite comprendre avec l'illustration:

https://en.wikipedia.org/wiki/Right-hand_rule

(pour info, cross product = produit scalaire, en anglais)

Tout ca, donc, pour dire que certains softs vont se mettre en right handed (historiquement, plutot les softs orientes vfx), en utilisant Y comme etant le up axis, et d'autres vont se mettre en left handed (plutot les softs orientes jeu video), utilisant Z comme etant le up axis

Voila voila =]

  • Partager sur Facebook
  • Partager sur Twitter
14 décembre 2020 à 10:39:45

C'est pas qu'il y a absence de norme, c'est plutôt qu'ils y en a plusieurs:

Et la raison pour laquelle X ou Y logiciel utilise +Y ou +Z pour l'axe haut et +x ou -x pour la gauche, n'est pas la même partout. Vu qu'il n'y a pas tellement de système privilégié, chacun a eu son chemin de pensée propre. Par exemple pour les logiciels d'animation, la plupart ont été créé par/avec les premiers animateurs 3D, qui étaient donc des animateurs 2D avant tout, et donc le choix des axes dépendait de si les animateurs voyaient leur espace 3D comme leur bureau auquel on ajoutait la hauteur, ou un tableau/écran de projection auquel on ajoute la profondeur.

Il y avait de ça dans les moteurs de jeu également. Beaucoup ont été créé avec des jeux 2D qui étaient soit en vue de côté soit en vue du sessus, ils ont donc juste ajouté l'axe Z qui manquait.

Au final, le choix du repère n'est pas si important que ça vu qu'il y a du monde de tous bords. On fini par se reposer sur la robustesse des "ponts", c'est à dire des formats d'export et des outils d'import/export entre logiciels.

-
Edité par Lauloque 14 décembre 2020 à 10:43:23

  • Partager sur Facebook
  • Partager sur Twitter

Moderateur forum || FAQ 3D || discord 3D francophone || OC Tweak script

14 décembre 2020 à 16:29:44

Bonjour. 

Et bah merci franchement je m'attendais pas a autant de réponse précise sur ce sujet. 

Je lirai ça tête reposer 

  • Partager sur Facebook
  • Partager sur Twitter