Откройте скрипт EnemyController.
Компонент, с которым мы хотим взаимодействовать, — это Animator. Нам необходима переменная соответствующего типа:
Animator animator;
А привязку к компоненту мы получим в методе Start с помощью GetComponent, как делали ранее:
animator = GetComponent<Animator>();
Теперь нам нужно изменить значения параметров в Animator. Параметры у нас были типа float, поэтому изменить мы их можем с помощью соотвествующего метода SetFloat переменной аниматора:
animator.SetFloat("Move X", 0);
animator.SetFloat("Move Y", direction);
Метод SetFloat принимает имя параметра в качестве первого параметра, а в качестве второго параметра текущее значение этого параметра.
Для других типов параметров есть свои методы - например, для параметра типа int метод SetInt. Он работает аналогично - первым параметром указываем имя параметра, вторым - его значение.
Изменение параметров анимации должно происходить в тот момент, когда меняется позиция персонажа. Соответственно эти строки мы дважды добавим в те места, где происходит пересчет позиции. При пересчете координаты Y (вертикального перемещения) значения параметров мы должны установить следующим образом:
animator.SetFloat("Move X", 0);
animator.SetFloat("Move Y", direction);
А при пересчете координаты X (горизонтального перемещения) значения параметров установите следующим образом:
animator.SetFloat("Move X", direction);
animator.SetFloat("Move Y", 0);
Обратите внимание, что в обоих случаях нам необходимо задать значения обоих параметров!
Проверьте скрипт:
Сохраните скрипт, запустите игру и проверьте, что анимации правильно работают для разных типов робота. Если есть какие-то ошибки, то вернитесь и исправьте их.