Trigger yerine Bool kullanın ve sürekli çalıştırmak yerine bir kere çalıştırın. Ayrıca input değerlerini update metotu içinde alıp rigidbody işlemlerini fixedupdate'de gerçekleştirin.
Benzer bir kod fikir vermesi açısından.
if (_joystickController.IsMoving)
{
if (_isMoving == false)
{
_isMoving = true;
_animator.SetBool("isMoving", true);
}
Vector3 direction = _joystickController.Direction;
transform.Translate(direction * (_speed * Time.deltaTime), Space.World);
}
else
{
_isMoving = false;
_animator.SetBool("isMoving", false);
}
}