Jump to content
Sign in to follow this  
nomoregames

Como funcionan las transiciones???

Recommended Posts

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:4_joy:

Concreta-mente esta parte:

Captura.PNG

 

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)

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

 

 

 

Share this post


Link to post
Share on other sites
22 hours ago, nomoregames said:

Si 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).

22 hours ago, nomoregames said:

Sin 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.

Edited by lightbug

Share this post


Link to post
Share on other sites

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 :7_sweat_smile:

Share this post


Link to post
Share on other sites
1 hour ago, nomoregames said:

A 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.

 

Share this post


Link to post
Share on other sites
7 hours ago, nomoregames said:

Opciones de importación??

Donde estan?

 

En serio ahora me siento así: 

image.jpeg

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 (?).

Share this post


Link to post
Share on other sites
Sign in to follow this  

×
×
  • Create New...