Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Animação de Ataque Demora Demais para Voltar pro Idle

Estou usando outro sprite para o meu inimigo, mas por algum motivo a animação de ataque dele sempre roda 2x antes de voltar pra de idle. Me cetifiquei de que o animation clip está correto e a transição de Idle para Attack no Animator está igual a do vídeo.
A caixa que verifica se há colisão com o jogador não está grande demais, e tampouco o collider do próprio jogador está grande demais, pra que mesmo longe o inimigo ainda o identifique.
Eu testei no próprio Animator, ativando e desativando o parâmetro Attack manulamente, e mesmo assim o inimigo executa o ataque 2x antes de voltar pra animação de Idle, o que pode estar causando isso?

2 respostas
solução!

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:

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

  2. 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");.

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

  4. 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 ✓.

Foi um erro meu mesmo haha. Fiquei tão incomodado com a animação duplicada que ainda nem tinha implementado o método que adiciona e verifica o cooldown do ataque, mas isso já resolveu meu problema!

Muito obrigado!