Similar presentations:
Unity M1 L8
1.
Повтор2.
ПовторНа прошлом уроке у нас была
сложная тема: мы создали два
скрипта для урона и здоровья
Это было больно.
Вы же сделали
для меня аптечку?
3.
ПовторНа прошлом уроке у нас была
сложная тема: мы создали два
скрипта для урона и здоровья
Чуть позже мы научим нашего
игрока дать отпор врагам, но
перед этим нам нужно
научится создавать анимацию!
Поскорее бы
4.
Виды анимацииСуществует несколько типов
анимации. Основными из них
являются покадровая анимация
и скелетная анимация
Интересненько
5.
Виды анимацииПокадровая анимация состоит
из последовательности
изображений. При смене
картинок с большой скоростью
создаётся иллюзия движения.
Анимация
Последовательность изображений
6.
Виды анимацииПокадровая анимация состоит
из последовательности
изображений. При смене
картинок с большой скоростью
создаётся иллюзия движения.
Анимация
Множество старых и
современных мультиков
созданы покадровой
анимацией, где каждый
кадр отрисовывается
вручную
Последовательность изображений
7.
Виды анимацииКостная (скелетная) анимация
состоит из частей тела
персонажа, которые
объединяются с помощью костей
в скелет, которым можно
манипулировать
Анимация
Части тела
8.
Виды анимацииКостная (скелетная) анимация
состоит из частей тела
персонажа, которые
объединяются с помощью костей
в скелет, которым можно
манипулировать
Анимация
Таким же способом снимают
уже современные мультики,
правда используют они 3D
модели, а не 2D
Части тела
9.
Виды анимацииПокадровая анимация
выглядит более живой, за
счет отрисовки каждого
кадра вручную. Однако
художник потратит много
сил и времени на
отрисовку каждого кадра
Анимация
VS
Костная анимация
выглядит менее
натуральной, но требует
меньше усилий и времени
от художника/аниматора
Анимация
10.
Виды анимацииПокадровая анимация
выглядит более живой, за
счет отрисовки каждого
кадра вручную. Однако
она сложнее в
реализации, нежели
костная анимация
Анимация
VS
Костная анимация
выглядит менее
натуральной, но требует
меньше усилий и времени
Мы с вами будем
использовать
покадровую анимацию
Анимация
11.
Виды анимацииДля начала, убедитесь, что для
вашего игрока есть картинки с
для покадровой анимации
Если у вас есть «сшитые»
картинки (вспоминаем урок про
спрайты), то обязательно
разделите их!
12.
Виды анимацииНам нужны следующие
анимации:
⮚ Idle – так называется анимация
покоя, когда персонаж стоит
на месте
⮚ Run/Walk – анимация бега
⮚ Jump – анимация прыжка
13.
Для начала создайтеновую папку, в которой мы
будем хранить анимации
Назовите её Animations
14.
В новой папке Animationsнам нужно создать ещё
одну папку Player, в
которой мы будем хранить
анимации нашего игрока
15.
Далее мы создаёмAnimator Controller
И переименовываем его
так же в Player
16.
АнимацияAnimator Controller, или просто
Animator, позволяет руководить
множеством анимации и решать,
какая анимация должна
воспроизводится в тот, или иной
момент
Иконка
Animator
Idle
Бег
Прыжок
17.
Переместите Animator внашего персонажа,
перетащив скрипт на
надпись Add Component
18.
Для создания анимаций,нам понадобится окно
Animation, в котором мы и
будем создавать анимации
Нажмите три точки в
левой верхней части окна
и создайте окно Animation
19.
У вас откроется новоеокно Animation для
создания анимации
20.
Выделите нашего игрока иесли у него будет
аниматор, но у нас
появится кнопка Create
для создания анимации
21.
Место, куда мысохраним
анимацию,
проверьте
Название для
анимации
Назовите первую
анимацию Idle
Убедитесь, что
анимация
создаётся в
правильной
папке, а так же
что вы дали
правильное
название для
анимации!
22.
Далее наше окноанимации
преобразится
Для полноценного изучения
этого окна понадобится много
времени, так что мы ещё к нему
вернёмся
23.
Далее наше окноанимации изменится
Для полноценного изучения
этого окна понадобится много
времени, так что мы ещё к нему
вернёмся
24.
Для удобной работыпереместите окно
Проекта в область по
центру (просто зажмите
название и перетащите)
25.
Для того, чтобы выделитьнесколько кадров,
выделите первый,
зажмите Shift и кликните
на последний кадр
Далее, откройте папку с
анимацией Idle,
выделите все кадры и
переместите их в область
анимации
26.
Теперь, достаточнооткрыть окно сцены, и
запустить тест анимации
Если вам кажется, что анимация
слишком быстрая, можете
уменьшить кол-во кадров в
секунду для этой анимации, к
примеру, до 24 кадров
Тест анимации
Кадры в сек
27.
АнимацияНастроили нужную скорость
анимации?
Теперь самостоятельно
создайте ещё одну анимацию
для бега персонажа
Не забудьте удостовериться,
что создаёте анимацию в
нужной папке!
Создание новой
анимации
28.
Теперь, когда у нас естьвсе нужные анимации,
самое время поработать
с нашим аниматором
Созданные
анимации
29.
Верните на место окноПроекта, откройте папку
с анимациями игрока и
откройте наш аниматор
(Player)
Откройте
30.
Новое окноПосле открытия у вас
появится новое окно
аниматора – Animator.
В нём мы будем настраивать
смену анимации нашего
персонажа
31.
Зажмите колёсикомыши, чтобы
перемещать камеру в
окне аниматора
В нём уже появились наши
созданные анимации в виде
блоков, и даже есть какие-то
настройки
Вы можете переставить
анимации для удобства
32.
Стрелки между блокамиуказывают на возможный
переход из одной
анимации в другую
Любая анимация
начинается с блока Entry и
переходит к первой
созданной анимации, в
нашем случае Idle
Анимация Run в данный
момент не связана ни с
одним блоком и не может
быть проиграна
33.
Как вы думаете, возможенли переход из анимации
Idle в анимацию Run?
34.
Конечно возможен!Если наш персонаж
стоит на месте и
вдруг, начнет
движение, мы должны
будем начать
анимацию Run
Как вы думаете, возможен
ли переход из анимации
Idle в анимацию Run?
35.
Щёлкните ПКМ поблоку Idle, выберите
пункт “Make Transition”
(создать переход) и затем
нажмите по блоку Run
36.
А возможен ли обратныйпереход, из анимации Run
в анимацию Idle?
37.
Конечно возможен!Если персонаж
находясь в движении
остановится, нам
нужно будет начать
анимацию Idle
Создайте нужный
переход между
блоками
А возможен ли обратный
переход, из анимации Run
в анимацию Idle?
38.
АниматорВсе нужные переходы между
анимациями у нас есть,
однако теперь нам нужно,
чтобы программа
автоматически меняла их
39.
АниматорНам нужен рычаг, который
будет активировать ту, или
иную анимацию
В этом нам поможет
переменная bool, помните её?
Idle
Run
40.
АниматорНам нужен рычаг, который
будет активировать ту, или
иную анимацию
В этом нам поможет
переменная bool, помните её?
Она может принимать
значения True & False, что даст
программе понять, какую
анимацию включать
False
Idle
Run
True
41.
АниматорЭтот рычаг мы будем менять
при помощи нашего
компонента Move.
False
Idle
Run
True
Move
42.
АниматорЭтот рычаг мы будем менять
при помощи нашего
компонента Move
Наш скрипт будет передавать
в аниматор информацию:
бежим ли мы, или нет
False
Idle
Run
True
Move
43.
АниматорЭтот рычаг мы будем менять
при помощи нашего
компонента Move
Наш скрипт будет передавать
в аниматор информацию:
бежим ли мы, или нет
False
Idle
Run
True
Реализовать эту систему будет
не очень сложно,
постарайтесь запомнить!
Move
44.
АниматорДля начала создадим
наш рычаг. В
аниматоре он
называется
параметром / Parametr
Следуя инструкции
создайте один
параметр, под
названием Running
45.
АниматорДалее, установите этот
параметр обоим
переходам из
анимации Idle в Run и
наоборот
Следуйте логике!
46.
АниматорПервую часть плана по
подключению анимации мы
реализовали.
Выполнено!
False
Idle
Run
True
Move
47.
АниматорПервую часть плана по
подключению анимации мы
реализовали.
Теперь нам осталось
подключить к скрипту Move
наш аниматор!
Выполнено!
False
Idle
Run
True
Move
В процессе
48.
Наш скрипт сейчас долженвыглядеть примерно
следующим способом
49.
Создаём переменную, вкоторой будем хранить доступ
к Аниматору
50.
Далее в функции Update() всамом начале устанавливаем наш
параметр «Running» на ложь
Это делается для того, чтобы по умолчанию
программа думала, что наш персонаж стоит
на месте
Не запутайтесь в
скобках!
51.
Схожую запись мы оставляем ужев условии, по движению влево,
однако при движении влево мы
изменяем параметр на true
Пусть изначально параметр Running
установлен на False, позже он изменится на
True, если игрок двинется влево
То же самое делаем и с
движением вправо!
52.
ПроверкаВсё сделали? Запускайте игру
и проверяйте итог!
Не забудьте дать значение
нашей новой переменной
anim в юнити
?
53.
ПроверкаДаже если вы всё сделали
правильно, нас ждёт ещё одна
проблема: анимация
запускается с задержкой
54.
Проблема кроется внаших переходах между
анимациями
Выделите одну из них и
нажмите стрелкочку у
Settings в инспекторе
Скрытые настройки
перехода анимации
55.
При созданиипереходов между
анимациями, Unity
автоматически
устанавливает
небольшую задержку
между анимациями
Настройки задержки
анимации
56.
Для решения проблемыпросто уберите все
галочки, а так же
установите все
значения на 0
Настройки задержки
анимации
57.
ПроверкаЗакончили? Тогда наш
персонаж должен бегать с
правильно настроенной
анимацией без задержки
А если что-то идёт не так, то
спрашивайте!
Нажмите, чтобы показать
распространённые ошибки
58.
Распространённые ошибкиПроблема с воспроизведением Проблема со скриптом:
⮚ Перепроверьте запись
анимации:
⮚ Проверьте, поставили ли вы
скрипта:
условия на всех переходах
между блоками анимации в
аниматоре
⮚ Проверьте, убрали ли вы
задержку со всех переходов
между блоками анимации
⮚ Проверьте, правильные ли
значения вы установили в
скрипте Move, с функциями
anim.SetBool()
59.
Дополнительное заданиеСегодня мы проделали очень
большую работу, можете
гордиться собой!
Обязательно повторите, весь
процесс создания анимации
дома, иначе всё забудете!
Стройте всё больше и больше
игровых уровней!