J'essaie d'une caméra qui se déplace en utilisant une spline. La position de la caméra fonctionne bien mais je veux que mon œil de la caméra se tourne tout seul pendant le mouvement.Rotation d'autres deux angles euler en utilisant la différence entre deux
Par exemple, la caméra se déplace de x0 y0 z0 à x1 y1 z1. Maintenant, mon vecteur d'œil est normal (x1-x0, y1-y0, z1-z0). Comment faire pivoter les deux autres vecteurs (vecteurs latéraux et supérieurs) pour qu'ils correspondent au vecteur de l'œil et ne détruisent pas les angles de 90 degrés entre eux?
Si c'est plus facile en forme de lacet/tangage c'est bien aussi, je peux convertir entre deux. Ou une approche différente de ce que je veux accomplir? Par exemple, je pense que je peux le faire en calculant la normale de la spline (c'est une courbe beizer de 3 points) et chaque étape je peux calculer combien de caméra tournera autour de cette normale. Mais je préférerais une méthode plus facile et plus générale, si elle existe.
Vous pouvez voir ce que je fais here. (cliquez sur une planète) Dans celui-ci je convertis mon ancien et nouveau vecteur d'oeil en tangage/lacet et trouve la différence et fais tourner d'autres vecteurs en utilisant ceci mais ceci est évidemment faux puisque dans certains cas, d'autres vecteurs peuvent ne pas changer du tout l'oeil tourne perpendiculairement à un)