Noticias

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

Temas recientes

Como funcionan las transiciones???

Iniciado por nomoregames, Marzo 13, 2020, 09:12:01 PM

Tema anterior - Siguiente tema
Hola a todos
 
Hace poco postee sobre como hacer que durante una transición se calculara la posición de un "hueso 2d"... A lo que viene esto es que, me di cuenta que para lograr entender eso primero necesitaba comprender como funcionan las transiciones
 
Concreta-mente esta parte:
 

 
 
 
Me he mirado tutoriales y leído pero no logro entender para que sirve cada opción...
 
(lo que si que entiendo son las condiciones... hasta allí llego)

Las opciones son bastante auto-explicativas (salvo "has exit time" y las interrupciones):
 


  •    has exit time: la transición (A->) va a pasar una vez que el clip A termine.


  •    Fixed duration: es un tiempo absoluto o un porcentaje?


  •    duration: la duración de la transición.


  •    offset: el offset de la transición.


  •    interruption source: quién es capaz de dar la orden de interrupción? si está pasando una transición de A -> B, y se da una transición de A -> C, entonces (si estuviera puesto currentState ) "A" estaría cancelando la interrupción. Si pasa algo similar (A -> B) pero esta vez se da la transición de B a C, si está puesto next state entonces B cancelará la transción. El resto son variaciones de esto.


  •    Ordered interruption: las fuentes de interrupción siguen un orden? es decir, se deberá tener en cuenta su prioridad?


  •    Conditions: las condiciones.


¿Leiste esto?: https://docs.unity3d.com/Manual/class-Transition.html

Gracias por tu respuesta lightbug
 
Por supuesto, lo primero que ice cuando se me planteo  el problema fue ir a la documentación de unity...
 
Y después de leerla y "entenderla " me di cuenta de que, tan, tan bien no la entendí, ya que no fui capaz de solucionar el siguiente problema 
 
https://drive.google.com/open?id=1rKzp0y2DXUudKtom144pzAilRlq5q0Bc
 
Si te fijas, cuando desmarco has exit time la animación se reproduce infinitamente... ¿no se tendría que reproducir una vez y ya?
 
Sin embargo cuando lo marco se reproduce dos veces.... 
 
Por que ocurre? que es lo que no entiendo?
 
 
 
Gracias
 
 
 
 
 
 

Marzo 15, 2020, 04:24:27 PM #3 Ultima modificación: Marzo 15, 2020, 04:26:31 PM por lightbug
Cita de: nomoregames date=1584205756Si te fijas, cuando desmarco has exit time la animación se reproduce infinitamente... ¿no se tendría que reproducir una vez y ya?
   


La animación está en loop. Algo así no te convienen que esté en loop, es mejor jugar con las transiciones e interrupciones.
 
Fijate que tenés un warning que te dice que si no le pones condición de salida no va a funcionar la transición de DownUpAttack a PrepareAttack . Funciona con exitTime, de lo contrario no tiene razón para salir. Si tenés un estado idle en tu código deberías pasarle el trigger para regresar a idle (no a prepareAttack).
 
Cita de: nomoregames date=1584205756Sin embargo cuando lo marco se reproduce dos veces.... 
   


Sí, pero no :). Osea, se va a reproducir la primer vez con la transición de PrepareAttack a DownUpAttack, una vez que llega, ahí se cuenta la "verdadera" reproducción (va a depender de la transición de entrada y de la de salida, por lo que veo la de abajo hacia arriba es más lenta que la otra). Si el clip es muy cortito y la transición tiene un tiempo considerable, entonces la primera reproducción debería ser parte de la transición. Probá con eliminar (poner a 0) la transición de prepareAttack a downUpAttack.
 
 
 
Lo que hace mecanim es reproducir la animación de destino al momento de la transición, entonces si la transición tarda más de la duración de un clip, lo que vale (para el estado) es el segundo clip. Con la de salida seguramente no pase esto porque prepareAttack es mucho más larga que DownUpAttack.

Se que quedare como un inepto pero...
 
Exactamente que es lo que tengo que hacer??
 
A que te refieres con que esta en loop, que hago para cambiarlo
 
 
 
Se que entro lo leído y lo que me explicaste no me tendría que quedar ninguna duda 

Cita de: nomoregames date=1584294794A que te refieres con que esta en loop, que hago para cambiarlo
   


Andá a las opciones de importación y fijate que en Animation dice "Loop" por ahí :)
 
Osea el clip tiene la propiedad esa, cosa que nunca me gustó, prefiero que el estado lo auto-loopee.
 
 

Marzo 17, 2020, 10:43:53 AM #6 Ultima modificación: Marzo 17, 2020, 10:44:16 AM por nomoregames
Opciones de importación??
 
Donde estan?
 
 
 
En serio ahora me siento así: 

Cita de: nomoregames date=1584438233Opciones de importación??
   
   
      Donde estan?
   
   
       
   
   
      En serio ahora me siento así: 
   
   
      
   


Jaajaj
 
Seleccioná el clip, te tienen que salir en el inspector. Si es un modelo importado, claro está. Si lo estás haciendo en Unity quizás en la misma ventana de animación (ctrl+6) tengas la opción (?).

Etiquetas: