A ver si uno de estos genios matemáticos que esté acostumbrado a trabajar con expresiones me puede ayudar.
Como
decía, estaba trabajando en un sistema para no tener que animar la rotación de la pelota cuando ésta se desplace.
Mediante la fórmula Rot = (360*distancia)/(2*PI*radio), he aplicado sendas expresiones a los ejes X y Z de la esfera.
El problema está en el eje Y. Me explico.
Cuando la pelota está en posición vertical (rot= 0,0,0), si la muevo, en la rotación sólo actuarán los ejes Z o X en función de hacia dónde la desplace. Hasta ahí, normal.
Ahora bien, una vez se ha desplazado (por ejemplo en X), si la quiero desplazar en Z, ya no debería actuar el eje Z de rotación, sino el Y, debido a que ya está rotada.
Lo que trato de conseguir son 2 cosas:
1-. cuando la pelota ha girado, si deseo desplazarla en otra dirección debería ponerse en marcha el eje de rotación Y
2-. Pese a la fórmula aplicada al eje de rotación Z, si la esfera está girada, ésta fórmula no debería actuar para que en su lugar, pueda hacerlo la del caso 1.
Ale, a ver quien es el cerebrito que descifra este entuerto.
PD: Por cierto, para los que querais experimentar, os posteo aquí el scrip. La escena que tengo sólo es una esfera hija de un null. Cuando el null se mueve, la esfera ha de rotar.
Rotación X: ( 360 * null.kine.local.posz ) / ( 2 * PI * sphere.sphere.radius )
Rotación Z: ( -360 * null.kine.local.posx ) / ( 2 * PI * sphere.sphere.radius )