16.85M
Category: programmingprogramming

ИИ для зомби

1.

EasyCode
ИИ для зомби
РИ Senior М11У1

2.

EasyCode
Задачи на урок
1. Настроить зомби движение за игроками
2. Создать логику выбора ближайшего
игрока
3. Добавить анимацию атаки

3.

EasyCode
Повторение

4.

Создадим аниматор зомби и переключатель в нём
EasyCode
ИИ зомби

5.

Настроим условие переключение анимации
EasyCode
ИИ зомби

6.

Добавим зомби компонент NavMesh
EasyCode
ИИ зомби

7.

И запечём карту
EasyCode
ИИ зомби

8.

И запечём карту
EasyCode
ИИ зомби

9.

Создадим скрипт ZombieRun типа StateMachine
EasyCode
ИИ зомби

10.

Будем брать список активных игроков
EasyCode
ИИ зомби

11.

Возьмём все нужные компоненты и объекты
EasyCode
ИИ зомби

12.

И созадим новый цикл
EasyCode
ИИ зомби

13.

Будем брать дистанцию объекта, который сейчас активен в цикле
EasyCode
ИИ зомби

14.

И проверять расстояние между текущим игроком и тем, что взят в
переменную player
EasyCode
ИИ зомби

15.

Останется задавать движение зомби
EasyCode
ИИ зомби

16.

Не забудем перенести скрипт на анимацию Run
EasyCode
ИИ зомби

17.

Не забудем перенести скрипт на анимацию Run
EasyCode
ИИ зомби

18.

Итог:
EasyCode
ИИ зомби

19.

EasyCode
Перемена

20.

Напишем проверку на дистанцию до игрока
EasyCode
Атака зомби

21.

Если расстояние меньше 3, запустим анимацию атаки и выключим
движение
EasyCode
Атака зомби

22.

Создадим новый скрипт для атаки
EasyCode
Атака зомби

23.

И возьмём все нужные нам переменные, как в прошлом скрипте
EasyCode
Атака зомби

24.

Настроим поворот зомби за игроком во время атаки
EasyCode
Атака зомби

25.

В конце анимации добавим проверку на то, отошёл ли игрок или
нет. Если он всё ещё в зоне атаки - продолжим анимацию
EasyCode
Атака зомби

26.

Навесим скрипт на анимацию Attack
EasyCode
Атака зомби

27.

Добавьте игроку на конец оружия пустой объект
EasyCode
Самостоятельное задание

28.

Создайте эффеки выстрела со звуком. Сохраните его как префаб
и удалите со сцены
EasyCode
Самостоятельное задание

29.

EasyCode
Завершение
урока

30.

Создайте у игрока скрипт PlayerHpManager, в котором
должна быть переменная hp и метод TakeDamage(int
damae), который будет принимать урон и отнимать от Hp,
полученное значение урона
EasyCode
Домашнее задание

31.

На следующем уроке мы научим зомби наносить урон,
а также настроим их спав в разных частях карты
EasyCode
Что будет дальше?

32.

EasyCode
Спасибо за урок!
English     Русский Rules