locked
Rotacion de Camara 3D xna RRS feed

  • Pregunta

  • Hola, molesto con una consulta. Recién estoy comenzando con 3D en XNA y tengo problemas para girar la cámara.

    En este caso en particular tengo un modelo en el centro de la pantalla y me gustaría poder girar la cámara alrededor de mi modelo en todas las direcciones. Es decir que el modelo no se mueva ni rote, que se la cámara la que gira alrededor siempre mirando hacia el modelo.

    Agradecería que me indicaran como hacer eso.

    Saludos.

    Si la respuesta fue de utilidad por favor vote. Tec. Agustin

    jueves, 15 de marzo de 2012 3:47

Respuestas

  • Tienes que buscar ArcBall Xna Camera en google y te sale el código... :)

    Yo lo haría así:

    1. Necesitas el yaw y el pitch que son los ángulos de rotación.

    2. Creas la matriz de rotación  rot = Matrix.CreateFromYawPitchRoll(yaw, pitch, 0)

    3. Creas el vector que va de la cámara al objecto:    forward = Vector3.UnitZ * distancia_de_camara_a_objeto;

    4. Lo rotas: forward = Vector3.Transform(forward, rot)

    5. Creas la matriz de vista:  view = Matrix.CreateView(campos = -forward, objectpos = Vector3.Zero, Vector.UnitY);

    Ten en cuenta que el modelo debe estar en el (0,0,0), si no lo estuviera habría que modificar un poco los calculos....

    Lo he puesto así para explicar un poco los pasos, no lo he probado, pero debería ser algo parecido. ;)


    Tambien conocido como Blau www.youtube.com/malditis www.charcostudios.com


    jueves, 15 de marzo de 2012 9:43