2011-06-27 10 views
6

Expression blend le permite importar modelos en 3D. Quiero animar un objeto 3d con código. Simplemente no puedo entender cuáles son los valores de las propiedades que tengo que modificar para hacer que un objeto gire. Te voy a enseñar lo que quiero decir:rotar cammera alrededor del centro del objeto wpf

enter image description here

así que si quiero hacer girar este objeto que podría utilizar la herramienta órbita cámara enter image description here y si lo uso yo puedo terminar con algo como:

enter image description here

Sé que puedo crear un guión gráfico y crear la animación modificando el objeto. Necesito rotar el objeto a lo largo del eje x con un control deslizante. Si modifico solo un valor, girará de una manera extraña. De hecho, tengo que cambiar varias propiedades si así lo deseo. Por ejemplo, cuando estoy rotando el objeto a lo largo del eje x con la herramienta de órbita de la cámara, puedo ver que todas estas propiedades enter image description here están cambiando. Necesito averiguar cuál es el algoritmo que se usa para rotar el objeto.

Respuesta

8

La matemática para mover la posición de la cámara alrededor de modo que usted parece estar rotando alrededor del eje X es simplemente la ecuación paramétrica de un círculo:

Parametric Equation of a Circle

donde t es el ángulo de cero a 2 pi.

Imagine que está parado en la calle mirando una casa. Las coordenadas de la cámara deben seguir un círculo alrededor de la casa y la latitud y la longitud cambian continuamente para mantener la misma distancia de la casa. Entonces, no hay un valor único que pueda cambiar para hacerlo rotar.

Una vez que conoce la posición de la cámara, la dirección es solo la diferencia entre el origen y la posición de la cámara.

Todo esto no es difícil de calcular, pero hay una manera más fácil. En su lugar, mantenga la cámara fija y gire el objeto. Esto hace que las animaciones sean mucho más fáciles. He aquí un artículo de MSDN contiene ejemplos de este enfoque, incluyendo animaciones:

Ese artículo está destinado para WPF y Visual Studio, pero se puede adaptar fácilmente a las mismas ideas a Expression Blend.

Cuestiones relacionadas