Buenas tardes, tengo un problemilla con mis animaciones y es que hasta que no finaliza una de ellas no empieza a hacer la transición hacia la otra. Por ejemplo si salto y caigo, cuando toco el suelo hace una animación de agacharse y no comienza a correr de nuevo hasta que no ha terminado la animación por completo, por lo que se para y después sigue corriendo.
En Internet he visto que existe la opción de Has Exit Time que sirve precisamente para esto, para indicar que la animación no tiene por que finalizar por completo para comenzar a reproducir la transición hacia la siguiente, pero en Unity 4 no la encuentro. A mi me aparece solo esto:
- ¿Como puedo evitar que las animaciones se reproduzcan completas antes de pasar a hacer una transición?. (No me refiero a recortar el tiempo de la transición, si no a que comience a reproducirla nada mas cumplirse una condición).
- ¿Como puedo cambiar el nombre del objeto que tiene aplicado el Animator?. Me aparece Cabeza.Reposo -> Cabeza.Impulso, pero el animator está aplicado a un personaje y no a su cabeza.
Un saludo.
No hay forma compañeros... sigo sin poder hacer las transiciones como las necesito y he buscado por Google pero es que no encuentro la solución...
Les pongo en situación: tengo una animación donde el personaje se agacha para tomar impulso y saltar y otra donde corre. Si vamos corriendo y le damos a salto el personaje (aún corriendo) se agacha poniendo las dos piernas juntas y después salta, pero lo que necesito que haga es que me mezcle la postura entre agacharse y correr (porque estamos corriendo no en parado) y que se agache un poco con la pierna que tenga hacia delante al correr pero no lo hace. Lo que hace es parar de correr, reproducir la animación completa de agacharse sin mas y después saltar.
Cuando cae al suelo hace igual, debería de interpolar entre la animación de agacharse al caer y correr, para seguir corriendo sin que se detenga pero tampoco lo hace, si no que pone las dos piernas juntas, se agacha, se levanta y después comienza la animación de correr, no me interpola bien entre una y la otra.
- ¿Puede haber alguna forma de solucionar esto por medio de programación?.
Saludos.
Si lo que buscas es que no aya espacio entre una animación y otra...
as probado a mover la flecha marcada en purpura hasta el símbolo marcado en negro?
no se si eso soluciona tu problema...
Gracias por responder, pero no soluciona el problema.
Eso seria básicamente eliminar la transición y lo que busco no es recortar la transición si no que la interrumpa y vaya hacia otra animación en cuanto se cumpla una condición. Creo que no me estoy explicando bien...
EDITO -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Haciendo comprobaciones he visto que puedo conseguir el efecto que quiero simplemente moviendo hacia atrás o hacia delante la animación hacia la que tiene que hacer la transición desde el inspector, el problema es que no es nada exacto porque tienes que hacerlo a ojo con el ratón y me gustaría saber si hay alguna manera de controlar esto de las transiciones por script, para que las animaciones se mezclen exactamente como y cuando quiero.
He probado con animation.CrossFade pero solo sirve para acortar lo que dura la transición.
Voy a hacer la pregunta tonta de rigor: ¿Estás seguro de que Unity v.4x tiene esa feature en la ventana del Animator? La mejor forma es localizar los blogs con los changelogs, y anuncios de novedades, y buscar en qué versión añadieron esa característica...
Tiene razón Pioj, creo que la función de Has Exit Time no está disponible hasta Unity 5... o actualizo o actualizo...