Olá Gabriel! Tudo certo?
Embora você tenha mencionado que a transição de Idle para Attack está configurada corretamente, é importante verificar também a configuração de saída da animação de ataque.
Aqui estão algumas sugestões que podem ajudar a resolver o problema:
Verifique o Exit Time na Transição de Ataque para Idle: Certifique-se de que a transição de volta para Idle não tenha um exit time que esteja forçando a animação de ataque a ser repetida. No Animator, clique na transição de Attack para Idle e veja se o exit time está configurado corretamente. Se houver um exit time, ele pode estar causando a repetição da animação.
Verifique o Trigger: Assegure-se de que o trigger "Attack" está sendo resetado corretamente após a execução do ataque. Você pode fazer isso manualmente no código após a animação de ataque ser concluída, usando animator.ResetTrigger("Attack");
.
Duração da Animação: Verifique se a duração da animação de ataque no seu animation clip não está muito longa ou configurada para repetir. No Animation window, confira se a opção "Loop Time" está desmarcada, caso contrário, a animação pode estar em loop.
Cooldown do Ataque: No seu script, o método VerifyCanAttack()
usa um cooldown para controlar quando o inimigo pode atacar novamente. Verifique se o attackCooldown
está configurado corretamente para evitar que o inimigo inicie um novo ataque antes de retornar ao Idle.
Espero que essas dicas ajudem a resolver o problema com a animação do seu inimigo.
Bons estudos!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.