Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Sobre la camara.

Iniciado por Diferencial, 20 de Julio de 2006, 06:59:46 PM

« anterior - próximo »

Diferencial

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?
PARA TENER COSAS QUE NUNCA HAS TENIDO, TENDRÁS QUE HACER COSAS QUE NUNCA HAS HECHO.

Haddd

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.

Diferencial

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.
PARA TENER COSAS QUE NUNCA HAS TENIDO, TENDRÁS QUE HACER COSAS QUE NUNCA HAS HECHO.

Diferencial

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.
PARA TENER COSAS QUE NUNCA HAS TENIDO, TENDRÁS QUE HACER COSAS QUE NUNCA HAS HECHO.

Haddd

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

Diferencial

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.
PARA TENER COSAS QUE NUNCA HAS TENIDO, TENDRÁS QUE HACER COSAS QUE NUNCA HAS HECHO.

Diferencial

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?
PARA TENER COSAS QUE NUNCA HAS TENIDO, TENDRÁS QUE HACER COSAS QUE NUNCA HAS HECHO.

Diferencial

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.
PARA TENER COSAS QUE NUNCA HAS TENIDO, TENDRÁS QUE HACER COSAS QUE NUNCA HAS HECHO.






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.