Page 1 sur 1

Vecteurs directeurs de la camera en world ou local

Publié : 16 Fév 2016 13:08
par Alesk
Salut tout le monde,

Depuis un shader, je cherche à récupérer les vecteurs forward, up et right de la caméra (tels qu'on peut les obtenir en script avec transform.forward, transform.up ou transform.right)

Je fouille depuis des semaines, et pas moyen de trouver une info fiable ou compréhensible :(
Ma meilleure piste réside dans les matrices prédéfinies, que l'on peut trouver ici : http://unity.ogf.su/Documentation/Compo ... grams.html

Mais je ne parviens pas à identifier laquelle serait la bonne (s'il y en a une) et quelles sont les données à en extraire.

Je cherche cette info en world et/ou en local space (ça peut toujours servir d'avoir les deux)

Help ! ^_^

Re: Vecteurs directeurs de la camera en world ou local

Publié : 16 Fév 2016 14:42
par boubouk50
Alors j'ai trouvé:
CamUpVector = UNITY_MATRIX_IT_MV[1].xyz;
CamFwdVector = UNITY_MATRIX_IT_MV[2].xyz

Je sais pas dans quel repère c'est par contre. teste.

J'ai ça aussi: https://gist.github.com/unitycoder/c5847a82343a8e721035

Re: Vecteurs directeurs de la camera en world ou local

Publié : 16 Fév 2016 16:00
par Alesk
Ok merci beaucoup !

A priori c'est bien ça :)
Il a fallu que je les multiplie par -1 pour que ça fonctionne correctement dans mon shader !
Du coup j'ai bien dû tomber sur la solution lors mes précédents essais, mais je suis passé à coté à cause de ça >_<

Et c'est en world space

EDIT : et visiblement, au moins dans mon cas, ça fonctionne mieux avec UNITY_MATRIX_V plutôt que UNITY_MATRIX_IT_MV qui me génère des petits décrochages lors de la rotation de la caméra.