locked
Posicionarse en un frame de una animación [Modelo 3D] RRS feed

  • Pregunta

  • Hola, buenas noches a todos. Soy nuevo aquí, y actualmente estoy trabajando con un par de compañeros en el desarrollo de un videojuego 3D. Actualmente he estado programando un poco respecto a modelos 3D, y no me ha parecido haber visto hasta el momento la forma de posicionarse en un frame (o keyframe) de una animación; he visto que esto se aplica fácilmente en sprites, pero no en modelos. ¿Podrían ayudarme brindándome ideas o información (en el sentido de un algoritmo, o incluso si alguien conociera un poco de documentación al respecto) al respecto? El juego será un beat em up, y principalmente, usaría esta información para detectar la colisión de ataques, al estilo de los juegos de pelea.

    Saludos y gracias de antemano por su atención.

    PD: una referencia más gráfica (animación de ejemplo, propiedad de Capcom).

    Necesitamos detectar cuando los personajes están atacando, posicionándonos en el frame exacto del ataque, para que entonces, incorporemos una colisión tal que los enemigos sean afectados por dicho ataque, y no sean afectados siempre (como cuando va a comenzar/terminar el ataque).

    • Editado nestor-2099 lunes, 19 de marzo de 2012 1:47 Información adicional
    lunes, 19 de marzo de 2012 1:39

Todas las respuestas

  • "no me ha parecido haber visto hasta el momento la forma de posicionarse en un frame (o keyframe) de una animación"

    ¿ Pero puedes visualizar la animación del modelo ?,

    porque la forma de hacerlo es idéntica, pero en vez de usar circunferencias o rectangulos para las colisiones en 2D, en 3D se usan esferas o cajas.


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

    miércoles, 21 de marzo de 2012 9:26
  • Asi es, puedo visualizar la animación ya en XNA; pensamos usar esferas, pero sin embargo, al igual que este tipo de juegos, el personaje, de los 20 cuadros que posee en una animación, solo puede detectar la colisión de ataque en algunos (4, por mencionar un ejemplo); el resto de los frames (16) el, o se prepara para atacar, o ya ha atacado y se encuentra vulnerable a poder recibir un ataque.
    • Editado nestor-2099 miércoles, 21 de marzo de 2012 14:05
    miércoles, 21 de marzo de 2012 14:05
  • ¿La animacion del modelo en 3D es por bones o por keyframes?

    Si es por bones lo tienes más fácil, porque puedes hacer que la esfera dependa de la posición de un bone, ( a partir de su matriz de transformación). 

    Lo que se hace es añadir un bone del tipo "helper", con un nombre determinado como "mano izquierda", para saber a que transformacion asociar la esfera de la colisión.


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

    miércoles, 21 de marzo de 2012 19:36
  • Muchas gracias por tu respuesta CharcoStudios. Actualmente, estamos usando una animación basada en KeyFrames (todas las animaciones fueron realizadas desde blender), habría una manera de adaptar la propuesta de solución que mencionas en este caso? Muchas gracias de antemano, saludos.

    viernes, 30 de marzo de 2012 21:41
  • Pues claro, lo mejor sería en blender añadir las esferas de colisión donde necesitéis, y exportarlas junto con los keyframes...

    luego hay que importar esa informacion a xna, eso ya es harina de otro costal, pero se tendría que poder hacer de alguna manera fácil... tanto exportando la información de las colisiones conjuntamente, como por separado... es cuestión de que os lo estudiéis sobre el terreno...

    Un saludo.


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

    sábado, 31 de marzo de 2012 6:02