En este momento estás viendo Cómo esperar a que termine una animación en Unity C# [duplicate]

 – Unity

Cómo esperar a que termine una animación en Unity C# [duplicate] – Unity

Cómo esperar a que termine una animación en Unity C# [duplicate]

– UnityAssets3Free

buenas , soy Daniel y hoy os traigo
esta nueva pregunta

Esta pregunta ya tiene respuestas aquí: Reproducir y esperar a que Animation/Animator termine de reproducirse (2 respuestas) Cerrado hace 4 años.

Quiero esperar a que finalice un clip de animación después de configurar el activador.

private void Start()

    anim = GetComponent<Animator>();



private IEnumerator Die()

    // Play the animation for getting suck in
    anim.SetTrigger("Shrink")      

    // Wait for the current animation to finish
    while (!anim.IsInTransition(0))
    
        yield return null;
     

    // Move this object somewhere off the screen


La animación se reproduce, pero no espera a que finalice para pasar al código después del bucle while.

Aquí está mi componente animador:

2 respuestas 2

Puede usar eventos de animación de Unity (https://docs.unity3d.com/Manual/script-AnimationWindowEvent.html).

Estos son marcadores que se pueden colocar en la línea de tiempo de su animación y le permiten especificar una función que se llamará.

Lo que puede hacer para esperar a que termine la animación es usar el tiempo que tarda en completarse, que puede encontrar en su animación al mirar el inspector, puede esperar ese tiempo después de activar la animación.

Así que en tu caso sería algo como esto:

private IEnumerator Die()

    // Play the animation for getting suck in
    anim.SetTrigger("Shrink") 

    yield return new WaitForSeconds(animationTime);

    // Move this object somewhere off the screen


nota: si aun no se resuelve tu pregunta por favor dejar un comentario y pronto lo podremos de nuevo , muchas gracias

por hoy,hasta la proxima

Deja una respuesta