NavmeshAgent при подходе к точке назначения бежит на месте
Есть навмеш агент, к которому прикреплен управляющий скрипт
void Update()
{
if(Input.GetMouseButtonDown(0))
{
playerCharacter.endAttack();
RaycastHit hit;
anim.SetBool("Attack", false);
if (Physics.Raycast(MainCamera.ScreenPointToRay(Input.mousePosition), out hit))
{
Attacking = false;
// anim.SetBool("Walk", true);
target = hit.collider.gameObject;
if (target?.GetComponent<EnemyCharacter>())
{
playerCharacter.endAttack();
playerCharacter.weapon.EnemyCharacter = null;
playerCharacter.weapon.EnemyCharacter = target.GetComponent<EnemyCharacter>();
playerCharacter.weapon.EnemyCharacter.OnDeath += EnemyOnDeath;
CanInteract = true;
agent.SetDestination(target.transform.position);
}
else
{
agent.SetDestination(hit.point);
CanInteract = false;
}
}
}
if (agent.hasPath|| agent.remainingDistance > agent.stoppingDistance) Stopped = false;
else Stopped = true;
if(Stopped)
{
if(CanInteract)
{
anim.SetBool("Walk", false);
anim.SetBool("Attack", true);
playerCharacter.startAttack();
Attacking = true;
}
else
{
anim.SetBool("Walk", false);
anim.SetBool("Attack", false);
}
}
else
{
anim.SetBool("Walk",true);
anim.SetBool("Attack", false);
}
Debug.Log(/*Stopped+"|||"+CanInteract agent.hasPath*/agent.pathPending +"\\"+ agent.hasPath);
}
Здесь я проверяю, есть ли у агента путь, а затем записываю соответствующее значение в переменную Stopped, после чего использую эту переменную для управления анимацией персонажа. Проблема в том, что при дистанции остановки > 1,5 агент достигает этого расстояния и начинает бегать на месте. при этом у агента все еще есть путь, и из-за этого анимация бега продолжает воспроизводиться

Красная точка указывает путь назначения, зеленый круг- радиус остановки. Может кто знает, в чем проблема?