Animation events al rescate

Hoy me tocó, entre otras muchas cosas, encontrar una solución para un asunto que venía molestándome desde hace tiempo: determinar cuándo una animación ha terminado de ejecutarse. Una de las opciones es usar Animation Events, una útil herramienta que encuentreas cuando entras en el modo de edición de un clip. No es muy intuitivo, la documentación es escasa (a menos que tengas acceso al sitio de Unity3d, que justo ahora no tengo, o puedas ver videos de youtube en tiempo real), y en general no es el desafío intelectual más agradable para un viernes por la tarde.
Por decirlo de alguna forma, entre las cosas que no querría hacer, esto puntúa ligeramente por debajo de un trámite en el Registro Civil. Ni siquiera puedo decir que domino completamente el procedimiento, aún me espera un poco de experimentación en casa para sacar algo útil de esto. En concreto, necesito regresar al estado de animación anterior luego de ejecutar un clip. Por ejemplo, en medio del combate el personaje da un golpe, que es una animación de una sola vez. En cuanto esa animación ha terminado, se regresa a la anterior. Creo que también podría utilizarse Animator.IsPlaying, pero no encuentro esa función en la documentación.
Por suerte, no todo el trabajo es tan pesado, también hay otras cosas que podemos calificar de tediosas. Por mencionar una: lograr entender el sistema de eventos del UI, a través de las interfaces. Hay mucho espacio para conseguir la locura ahí.

Comentarios