Olá, Vinícius! Como via?
Parece que você está no caminho certo, mas vamos verificar alguns pontos que podem estar causando o problema:
Verifique o nome do Trigger: certifique-se de que o nome do trigger "attack" no script é exatamente o mesmo que o nome do parâmetro no Animator. Letras maiúsculas e minúsculas fazem diferença.
Condição de Transição: na transição de "Idle_Anim" para "Attack_Anim", você configurou a condição para o trigger "attack". Verifique se o trigger está realmente sendo ativado quando o jogador está no campo de visão do inimigo.
PlayerInSight(): assegure-se de que a função PlayerInSight() está retornando true quando o jogador está perto o suficiente. Você pode adicionar um Debug.Log dentro do if para verificar se está entrando na condição.
Exit Time: na transição de "Idle_Anim" para "Attack_Anim", você marcou "Has Exit Time". Tente desmarcar essa opção para ver se a animação de ataque inicia imediatamente quando o trigger é ativado.
Espero que essas dicas ajudem a resolver o problema. Bons estudos!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.