Noticias

¡RECUERDA QUE SI ERES UN NUEVO USUARIO, DEBES PRESENTARTE PARA PODER PUBLICAR MENSAJES! | TENEMOS CANAL OFICIAL DE TELEGRAM: t.me/unity3dspain

Abrir puertas con animacion

Iniciado por David123, Febrero 23, 2018, 03:07:20 AM

Tema anterior - Siguiente tema
buenas grupo...Estoy armando un fps y logro que mi personaje abra una puerta, pero solamente se abre la puerta sola, mi idea es que al abrirla se ejecute una animación y que el personaje la empuje con la mano mientras la abre. saben de algún tutorial o donde buscar ya que no encuentro nada parecido a eso.
 
gracias

Nunca lo intenté hacer, siempre me dio curiosidad como es que los Pro lo hacen, pero desde lo básico que se de animaciones y lo que he visto en juegos reales, la unica idea que se me cae es la de, animar a cada objeto (mano y puerta) teniendo un punto de referencia (por + orientación) asociado para ambos, el proceso sería algo así:
 
1 - se da el proceso de animación por X evento (ej estás cerca de la puerta, a 1m y medio y apretaste "E")
 
2 - el personaje (o la mano) se desplaza hasta la posición de referencia (podría ser por ej del pivot de la puerta + 10 cm al frente, por inventar algo)
 
3 - A) comienzan ambas animaciones (por supuesto, la puerta tendrá que esperar a que la mano llegue)... o B) el "Animation Event" de una (en este caso, el de la mano) dispara a la otra (en este caso la puerta no debe de esperar)
 
Se que esto funciona, pero lo que se me hace dificil (que bueno, después de un poco de prueba y error sale) es el animar exactamente todo, que la mano parezca estar sincronizada con la puerta.
 
Lo del punto de referencia es para enganchar un objeto con otro, debería estar en una posición lógica y no al 20 metros de la puerta por ej.
 
Solo una idea...

Si no conoces la kinematica inversa (IK) igual te podría servir, te dejo un vídeo en el que se ve en el primer minuto lo que es la IK, si buscas un poco quizá encuentres algo que sea muy parecido a lo que quieres. Un saludo!!
 


   
eature=oembed" width="480">

 
 

Etiquetas: