Академический Документы
Профессиональный Документы
Культура Документы
Development
Unreal Engine
MIDDLE
Урок 2
MakeHuman
Unreal Engine. Анима-
ции в Unreal Engine 4.
Анимационный
блупринт
2
MakeHuman Unreal Engine. Анимации в Unreal Engine 4...
Рисунок 1
Интерфейс данного приложения предельно прост.
В центре экрана находится рабочая область, где отобра
жаются все изменения персонажа. По умолчанию на этом
поле размещена модель человека (рис. 2).
3
Урок 2
Рисунок 2
На верхней панели размещены основные инструмен
ты для сохранения и экспорта проекта, а также кнопки
Undo (Шаг назад), Redo (Шаг вперед) и Reset, которая по
зволяет полностью обнулить прогресс изменений (рис. 3).
Рисунок 3
Далее идут кнопки, которые включают и отключают
отображение сетки объекта и сглаживают форму моде
ли. Третья кнопка отвечает за позу, а последние две —
за отображение вспомогательной сетки и фона (рис. 4).
4
MakeHuman Unreal Engine. Анимации в Unreal Engine 4...
Рисунок 4
Третий блок кнопок отвечает за симметричность пер
сонажа (рис. 5).
Рисунок 5
Четвертый — за поворот модели в сцене. Благодаря
этим кнопкам можно быстро оценить результат работы,
поворачивая персонажа под разными углами (анфас, про
филь, затылок и т.д.). Последняя кнопка данного блока
возвращает модель в положение по умолчанию (рис. 6).
Рисунок 6
Рисунок 7
Остальные инструменты для настройки внешно
сти персонажа размещены во вкладках под главной па
5
Урок 2
Рисунок 8
В программе MakeHuman можно без труда создавать
не только взрослых, но и старых персонажей, а также де
тей (рис. 9).
6
MakeHuman Unreal Engine. Анимации в Unreal Engine 4...
Рисунок 9
Рисунок 10
В остальных вкладках группы Modelling происходит
непосредственная настройка геометрии. Каждая вкладка
содержит определенный набор инструментов (рис. 10).
В колонке слева размещены типы объектов, которые
7
Урок 2
Рисунок 11
Во вкладке Materials можно поменять цвет кожи и глаз
персонажа (рис. 12).
Вкладка Pose/Animate содержит 3 набора инструмен
тов, с помощью которых можно настроить положение
тела персонажа и подготовить его к анимации.
Первая вкладка — Skeleton. Здесь можно выбрать тип
скелета: базовый для игровых движков или более дета
лизированный для мультипликации (рис. 13).
8
MakeHuman Unreal Engine. Анимации в Unreal Engine 4...
Рисунок 12
Рисунок 13
9
Урок 2
Рисунок 14
Рисунок 15
10
MakeHuman Unreal Engine. Анимации в Unreal Engine 4...
Рисунок 16
Теперь давайте экспортируем персонажа, а затем до
бавим его в пространство движка Unreal Engine 4. Пре
жде всего вернемся во вкладку Files — Export. В колонке
слева, в блоке Mesh Format (Формат сетки) выбираем
.fbx, а в колонке справа задаем значение Scale units (Еди-
ницы масштаба) — Centimeters (сантиметры). Важно
всегда проверять единицы измерения перед экспор
том, так как именно они влияют на физические разме
ры персонажа.
11
Урок 2
Рисунок 17
Теперь запустим Unreal Engine и создадим новую ша
блонную сцену. Добавим в проект новую папку Male1
и импортируем в него нашего персонажа. Важно убе
дится, что в сцену будет импортирована не только сетка
объекта, но и скелет. Для этого отметим галочками нуж
ные пункты в окне импорта, как показано на рисунке 18.
Далее нажимаем Import All.
В результате все материалы, текстуры, а также
модельная сетка и скелет будут добавлены в проект
(рис. 19).
12
MakeHuman Unreal Engine. Анимации в Unreal Engine 4...
Рисунок 18
Рисунок 19
13
Урок 2
Рисунок 20
Вернемся в UE4. Прежде всего добавим в сцену соз
данного персонажа, перетащив его из папки (рис. 21).
Теперь дважды кликнем по персонажу, чтобы перейти
в режим редактирования объекта. В правом верхнем углу
выбираем Skeleton и нажимаем на кнопку Retarget Manager
в главном меню слева. Это необходимо для того, чтобы
проверить, назначены ли связи скелета и модели (рис. 22).
14
MakeHuman Unreal Engine. Анимации в Unreal Engine 4...
Рисунок 21
Рисунок 22
15
Урок 2
Рисунок 23
В результате все суставы привяжутся к соответству
ющим узлам скелета, и персонаж будет готов для анима
ции (рис. 24).
Рисунок 24
После этого нажимаем на кнопку Save и выходим из
редактора.
16
MakeHuman Unreal Engine. Анимации в Unreal Engine 4...
Рисунок 25
Как и в случае с моделью, прежде всего нужно прове
сти ретаргетинг скелета манекена и сохранить результат.
Следует отметить, что для всего набора анимационных
поз используется один и тот же скелет. То есть, настроив
его всего один раз, можно в дальнейшем работать с лю
бой позой из сета, не повторяя данное действие.
После этого кликаем ПКМ по выбранной анима
ции и связываем ее с моделью: Retarget Anim Assets =>
Duplicate Anim Assets and Retarget (рис. 26).
Рисунок 26
17
Урок 2
Рисунок 27
В результате UE4 создаст специальную анимацион
ную секвенцию с выбранным скриптом действий для
персонажа (рис. 28).
Рисунок 28
18
MakeHuman Unreal Engine. Анимации в Unreal Engine 4...
Рисунок 29
Вернемся в редактор анимации, дважды кликнув по
объекту. Далее выберем вкладку Skeleton Tree для анима
ции и активируем отображение дополнительных опций
ретаргетинга (рис. 30).
Рисунок 30
19
Урок 2
Рисунок 31
Если необходимо, положение суставов можно до
полнительно подправить вручную прямо в окне пред
просмотра (рис. 32).
Плюс данной методики в том, что она работает на
прямую со скелетом, то есть любые другие позы также
автоматически правятся.
20
MakeHuman Unreal Engine. Анимации в Unreal Engine 4...
Рисунок 32
Теперь давайте разберем, как создать собственный
анимационный Blueprint. Для этого создадим новый про
ект от третьего лица и добавим папку Animation в глав
ную директорию проекта (рис. 33).
Рисунок 33
Заходим в эту папку, кликаем ПКМ по пустому полю
и выбираем из списка доступных для создания объектов
(блок Create Advanced Asset) пункт Animation => Animation
Blueprint (рис. 34).
21
Урок 2
Рисунок 34
Рисунок 35
22
MakeHuman Unreal Engine. Анимации в Unreal Engine 4...
Рисунок 36
При этом в папке появится новый пустой блупринт.
Переименуем его в Character_BP (рис. 37).
23
Урок 2
Рисунок 37
Прежде всего подключим новый блупринт к моде
ли. Так мы сможем отслеживать все изменения анима
ции. Для этого выделим персонажа в сцене и во вклад
ке Animation заменим Anim Class на созданный ранее
Character_BP (рис. 38).
Рисунок 38
После этого приступим к редактированию самого блу
принта. Дважды кликаем по нему, чтобы перейти в ре
жим редактирования.
Редактор анимационного блупринта содержит две
рабочих области: анимационный график (Anim Graph)
и график событий (Event Graph) (рис. 39–40).
24
MakeHuman Unreal Engine. Анимации в Unreal Engine 4...
Рисунок 39
Рисунок 40
В Event Graph прописываются события и перемен
ные, которые будут влиять на анимацию в Anim Graph.
В основе создания скриптов, по аналогии с шейдерами,
лежит нодовая система, где из разрозненных блоков со
ставляется общая карта действия.
Самый простой способ задать анимацию — выбрать
шаблон действия (к примеру, ThirdPersonIdle) из списка
25
Урок 2
Рисунок 41
После этого, если нажать кнопку Compile, можно уви
деть результат скрипта в окне предпросмотра (рис. 42).
Рисунок 42
26
MakeHuman Unreal Engine. Анимации в Unreal Engine 4...
Рисунок 43
Добавим Jump в рабочую область с параметром Set
(Задать) (рис. 44).
Рисунок 44
27
Урок 2
Рисунок 45
Чтобы связать между собою блоки Try Get Pawn Owner
и корневой блок Event Blueprint Update Animation, который
отвечает за обновление переменных в каждом кадре, до
бавим дополнительную ноду Cast to ThirdPersonCharacter.
В данном случае именно она соответствует нашему типу
персонажа. Соединим все три блока в последовательно
сти, показанной на рисунке (рис. 46).
28
MakeHuman Unreal Engine. Анимации в Unreal Engine 4...
Рисунок 46
Следующий этап — самый важный, так как именно
он определяет логику скрипта и помогает движку опре
делиться, сработало действие или нет.
Добавим к скрипту следующие блоки:
1. Character Movement — компонент, который отвечает
за движение персонажа (рис. 47).
Рисунок 47
29
Урок 2
Рисунок 48
3. Equal — блок сравнения происходящих событий
(рис. 49).
Рисунок 49
Если режим перемещения будет равняться падению
(Falling), персонаж должен прыгать (рис. 50).
30
MakeHuman Unreal Engine. Анимации в Unreal Engine 4...
Рисунок 50
Далее перейдем во вкладку Anim Graph и добавим
ноду Blend Poses by bool (Смешивание поз) (рис. 51).
Рисунок 51
Данная переменная позволит переключать анимацию
персонажа в зависимости от действий игрока. В ячейку
Active Value подключим переменную Jump (с параметром
Get). А далее зададим логику персонажа (рис. 52):
■■ если персонаж прыгает, срабатывает переменная True
Pose;
■■ если персонаж находится в состоянии покоя, сраба
тывает вариант False Pose.
31
Урок 2
Рисунок 52
Подобные ветки скриптов и лежат в основе создания
блупринтов.
Самым ярким примером использования анимаци
онных блупринтов можно считать коллекционные эмо
ции из игры Fortnite. В ней персонажи умеют танцевать,
приветствуют друг друга всевозможными способами,
играют в «камень-ножницы-бумага», ярко реагируют на
действия игрока и т.д. И спектр их реакций постоянно
расширяется (рис. 53–55).
Рисунок 53
32
MakeHuman Unreal Engine. Анимации в Unreal Engine 4...
Рисунок 54
Рисунок 55
33
Урок 2
MakeHuman Unreal Engine. Анимации
в Unreal Engine 4. Анимационный блупринт