locked
Dirección de personajes 3d con ratón. RRS feed

  • Pregunta

  • Experimentando los controles con XNA, en una cámara en 3º persona podemos seguir a nuestro modelo, que esta se mueva y rote cuando lo haga el modelo, todo okay.

    Mi problema llega a la hora de mejorar la jugabilidad, es facil rotar el modelo con el teclado y que la cámara siga a dicho modelo, pero mi proyecto trata de disparos y girar con una velocidad definida de rotación del modelo por ejemplo "0.2f", ya que dependiendo del usuario puede ser más o menos rápido en girar y por lo tanto sería molesto darte la vuelta a una velocidad reducida y que pudieran "matarte" sabiendo que podrías "haberlo evitado" girando más rápido.

    Por eso, quiero que el modelo del jugador se rote con el ratón, al igual que pasa con todos los juegos de disparos. Apoyándome en el proyecto "GenerarTerrenys" que mucha gente conoce, ya viene configurado para girar la cámara y desplazarte según la dirección de la cámara, perfecto, a eso me refería, el problema es que, sí, la cámara la controlo como quería, pero, ¿el modelo del jugador?, sinceramente no se como rotar el modelo para que quede siempre centrado en la cámara, ¿como haría en este caso?

    Gracias.

    domingo, 6 de mayo de 2012 22:08

Respuestas

  • Finalmente lo solucione añadiendo todos los valores de la Matrix.World del modelo a una variable que usan tanto el modelo como el update de la camara. Con eso ya conseguí lo que buscaba, almenos en 1º persona.
    • Marcado como respuesta JoseSoftware miércoles, 9 de mayo de 2012 22:57
    miércoles, 9 de mayo de 2012 22:57

Todas las respuestas

  • Matrix.CreateWorld es tu amigo.... aunque no creo que así de primeras haga lo que quieras, porque el apuntado no es tan trivial, pero bueno....

    Matrix.CreateWorld(PosicionPersonaje, VectorDirectorRotacion, VectorArriba) te dara la transformacion de tu modelo.



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

    lunes, 7 de mayo de 2012 17:14
  • La idea que tengo en mente, que creo que es la más correcta, es aprovechar la variable que uso para rotar el modelo para editarla con el movimiento del ratón y que la cámara gire también pero usando al modelo como pivote, e leído tutoriales para hacer eso, pero nose como captar el movimiento del ratón ( izquierda o derecha), con eso quedaría como yo busco que quede.
    lunes, 7 de mayo de 2012 20:34
  • Finalmente lo solucione añadiendo todos los valores de la Matrix.World del modelo a una variable que usan tanto el modelo como el update de la camara. Con eso ya conseguí lo que buscaba, almenos en 1º persona.
    • Marcado como respuesta JoseSoftware miércoles, 9 de mayo de 2012 22:57
    miércoles, 9 de mayo de 2012 22:57