Foros - Stratos

Proyectos => Jad Engine => Mensaje iniciado por: Diferencial en 20 de Julio de 2006, 06:59:46 PM

Título: Sobre la camara.
Publicado por: Diferencial en 20 de Julio de 2006, 06:59:46 PM
Hola a todos,
Estoy creando mi propia camara, ya que mi juego se ve en tercera persona.


private void Move(float speed)
{                
     Vector3 vVector = Look - Position; // Get the view vector
    // forward positive camera speed and backward negative camera speed.
   Position = new Vector3(Position.X + vVector.X * speed, Position.Y, Position.Z     + vVector.Z * speed);                
   [b]Look[/b] = new Vector3(Look.X + vVector.X * speed,Look.Y,Look.Z + vVector.Z * speed);
}  


Tengo un problema con el vector look, como es de solo lectura no puedo modificarlo.
¿Existe alguna forma de poderlo modificar?
Título: Sobre la camara.
Publicado por: Haddd en 20 de Julio de 2006, 07:26:30 PM
Pero existe ya una cámara en 3ª persona. Es la que hay por defecto en el motor. de todas formas, el vector look, no lo puedes asignar, debes asignar los ángulos de rotación.
Título: Sobre la camara.
Publicado por: Diferencial en 20 de Julio de 2006, 07:46:08 PM
Gracias haddd, es que no sabia como resolver un problema que me surgia con la camara por defecto. Es algo muy raro que estoy haciendo... pero al final lo he conseguido resolver sin tener que crearme mi propia camara.
Título: Sobre la camara.
Publicado por: Diferencial en 20 de Julio de 2006, 11:23:17 PM
Sigo en las mismas, el problema es que no se usar el raton para orientar el objeto. Es decir si aprieto la tecla W sigue hacia delante si muevo el raton pues el objeto tendria que obtener la nueva direccion.
Título: Sobre la camara.
Publicado por: Haddd en 21 de Julio de 2006, 11:44:00 AM
ah, vale. Bueno hay un ejemplo en uno de los tutoriales(Tut-16. Postproduction and building your own camera class), que te enseña a crer tu propia cámara y que cuando se pulsa una tecla, esta "apunte" hacia donde tu quieres.

Así que el código está ahí, en los tutos  :D
Título: Sobre la camara.
Publicado por: Diferencial en 23 de Julio de 2006, 11:33:11 PM
Gracias haddd, ya he visto ese tutorial pero no consigo hacer una camara en tercera persona y ademas con el manejo que yo quiero. Si me puedes hechar una mano te lo agradezco mucho. Mira yo quiero hacer la camara como en este ejemplo http://www.morrowland.com/apron/tutorials/d3d/d3d_camera_4b.zip  llevo todo el fin de semana (Y unos cuantos dias más) y si he avanzado pero ahun me queda muy lejos a lo que hay en el ejemplo. Si no te ves con fuerza para ayudarme lo entiendo, pero si me explicas por lo menos que es lo que tengo que hacer para obtener el resultado, con eso estoy igual de agradecido.
Título: Sobre la camara.
Publicado por: Diferencial en 25 de Julio de 2006, 10:55:17 AM
Buenas he adelantado un poco mas, pero me ha surgido un problema que no se como resolver, al final he creado mi propia camara y en el manejo de las teclas (Estoy heredando de HCameraFirstPerson) he puesto una llamada a CalculateMouseRotation pasandole la x e y relativas (No se muy bien a que coordenadas hacer referencia de relativas y absolutas) el caso que como puedo hacer que cuando mueva el raton en el eje x me rote sobre la posicion del objeto que hace de jugador?
Título: Sobre la camara.
Publicado por: Diferencial en 25 de Julio de 2006, 05:44:09 PM
Parece que he resuelto un problemilla que tenia sobre el tema de giro dejo puesto el codigo por si alguien ha tenido o tiene el mismo problema:


           translacion = Matrix.Translation(esfera.Position);
           rotacion = Matrix.RotationY(Geometry.DegreeToRadian(0.05f));            
           bodyEsfera.Matrix = translacion;
           bodyEsfera.Matrix *= rotacion;


Mira que ahora parece simple, pero como las mates no han sido mi fuerte pues me ha costado un poco.