Вы находитесь на странице: 1из 34

Game

Development

Unreal Engine

MIDDLE
Урок 2
MakeHuman
Unreal Engine. Анима-
ции в Unreal Engine 4.
Анимационный
блупринт

2
MakeHuman Unreal Engine. Анимации в Unreal Engine 4...

MakeHuman Unreal Engine.


Анимации в Unreal Engine 4.
Анимационный блупринт
Движок Unreal Engine 4 позволяет работать с огром­
ным количеством всевозможных объектов. На нем мож­
но воссоздать физику травы, деревьев, воды и прочих
элементов окружения. Также его программа позволя­
ет анимировать персонажей (животных, роботов, гу­
маноидов и т.д.).
На этом занятии мы на практике разберем, как соз­
давать анимацию для людей. Прежде всего нам понадо­
биться настоящий персонаж. Для того, чтобы быстро
создать модель человека, воспользуемся специальным
приложением MakeHuman. Последнюю версию данной
программы можно скачать с официального сайта (рис. 1).

Рисунок 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

нелью инструментов. Давайте рассмотрим их немного


подробнее.
Первая вкладка Files используется для загрузки, со­
хранения и экспорта персонажей (рис. 7).
Основная настройка форм происходит во вкладке
Modelling, которая содержит ряд дополнительных вкла­
док. Первичный выбор пола и возраста персонажа, а так­
же настройка мускулатуры, веса, роста и расы происхо­
дит во вкладке Main (рис. 8).

Рисунок 8
В программе MakeHuman можно без труда создавать
не только взрослых, но и старых персонажей, а также де­
тей (рис. 9).

6
MakeHuman Unreal Engine. Анимации в Unreal Engine 4...

Рисунок 9

Рисунок 10
В остальных вкладках группы Modelling происходит
непосредственная настройка геометрии. Каждая вкладка
содержит определенный набор инструментов (рис. 10).
В колонке слева размещены типы объектов, которые

7
Урок 2

можно изменить (к примеру, лицо, торс, руки и ноги),


а слева — подкатегории редактируемого типа (например,
части лица: нос, подбородок, брови и т.д.).
Следующая вкладка — Geometries. В ней содержится
несколько категорий вспомогательных объектов, которые
сделают персонажа более реалистичным. В частности:
одежда, прическа, брови, ресницы, зубы и язык (рис. 11).

Рисунок 11
Во вкладке Materials можно поменять цвет кожи и глаз
персонажа (рис. 12).
Вкладка Pose/Animate содержит 3 набора инструмен­
тов, с помощью которых можно настроить положение
тела персонажа и подготовить его к анимации.
Первая вкладка — Skeleton. Здесь можно выбрать тип
скелета: базовый для игровых движков или более дета­
лизированный для мультипликации (рис. 13).

8
MakeHuman Unreal Engine. Анимации в Unreal Engine 4...

Рисунок 12

Рисунок 13

9
Урок 2

Во вкладке Pose выбираем позу персонажа (рис. 14).

Рисунок 14

Рисунок 15

10
MakeHuman Unreal Engine. Анимации в Unreal Engine 4...

А во вкладке Expression — эмоцию, которая будет ото­


бражаться на его лице (рис. 15).
Во вкладке Rendering можно отрендерить и сохра­
нить изображение готового персонажа в формате .png
(рис. 16).

Рисунок 16
Теперь давайте экспортируем персонажа, а затем до­
бавим его в пространство движка Unreal Engine 4. Пре­
жде всего вернемся во вкладку Files — Export. В колонке
слева, в блоке Mesh Format (Формат сетки) выбираем
.fbx, а в колонке справа задаем значение Scale units (Еди-
ницы масштаба) — Centimeters (сантиметры). Важно
всегда проверять единицы измерения перед экспор­
том, так как именно они влияют на физические разме­
ры персонажа.

11
Урок 2

Также следует отметить, что персонажа лучше экс­


портировать в стандартной позе, в противном случае его
будет намного сложнее анимировать. Далее нажимаем
кнопку Export (рис. 17).

Рисунок 17
Теперь запустим Unreal Engine и создадим новую ша­
блонную сцену. Добавим в проект новую папку Male1
и импортируем в него нашего персонажа. Важно убе­
дится, что в сцену будет импортирована не только сетка
объекта, но и скелет. Для этого отметим галочками нуж­
ные пункты в окне импорта, как показано на рисунке 18.
Далее нажимаем Import All.
В результате все материалы, текстуры, а также
модельная сетка и скелет будут добавлены в проект
(рис. 19).

12
MakeHuman Unreal Engine. Анимации в Unreal Engine 4...

Рисунок 18

Рисунок 19

13
Урок 2

Следующий шаг — заанимировать персонажа. Для


этого нам понадобиться любой пак базовых действий,
который можно бесплатно скачать из маркетплейса Epic
Games. Вводим в поисковой строке запрос Animation
Starter Pack и добавляем предложенный файл непосред­
ственно в проект. Стоит отметить, что данный сет не
нужно отдельно скачивать и загружать в библиотеку,
программа все делает сама, в режиме реального вре­
мени (рис. 20).

Рисунок 20
Вернемся в UE4. Прежде всего добавим в сцену соз­
данного персонажа, перетащив его из папки (рис. 21).
Теперь дважды кликнем по персонажу, чтобы перейти
в режим редактирования объекта. В правом верхнем углу
выбираем Skeleton и нажимаем на кнопку Retarget Manager
в главном меню слева. Это необходимо для того, чтобы
проверить, назначены ли связи скелета и модели (рис. 22).

14
MakeHuman Unreal Engine. Анимации в Unreal Engine 4...

Рисунок 21

Рисунок 22

15
Урок 2

Далее в блоке Set up Rig выбираем опцию Select Rig =>


Select Humanoid Rig (рис. 23).

Рисунок 23
В результате все суставы привяжутся к соответству­
ющим узлам скелета, и персонаж будет готов для анима­
ции (рис. 24).

Рисунок 24
После этого нажимаем на кнопку Save и выходим из
редактора.

16
MakeHuman Unreal Engine. Анимации в Unreal Engine 4...

Теперь переходим непосредственно к анимации. На­


ходим в папке проекта AnimStarterPack, где сохранены
все скачанные варианты анимации персонажа. Чтобы
просмотреть действие, достаточно дважды кликнуть по
нему (рис. 25).

Рисунок 25
Как и в случае с моделью, прежде всего нужно прове­
сти ретаргетинг скелета манекена и сохранить результат.
Следует отметить, что для всего набора анимационных
поз используется один и тот же скелет. То есть, настроив
его всего один раз, можно в дальнейшем работать с лю­
бой позой из сета, не повторяя данное действие.
После этого кликаем ПКМ по выбранной анима­
ции и связываем ее с моделью: Retarget Anim Assets =>
Duplicate Anim Assets and Retarget (рис. 26).

Рисунок 26

17
Урок 2

В открывшемся окне выбираем модель персонажа для


ретаргетинга (в данном случае это male1_Skeleton). Важно
убедиться, что позы персонажа и анимационного манеке­
на совпадают, в противном случае действия модели будут
сломанными. После этого нажимаем Retarget (рис. 27).

Рисунок 27
В результате UE4 создаст специальную анимацион­
ную секвенцию с выбранным скриптом действий для
персонажа (рис. 28).

Рисунок 28

18
MakeHuman Unreal Engine. Анимации в Unreal Engine 4...

Даже если вы сделали все верно, в анимации могут


возникать артефакты (например, неправильные сгибы
на руках и ногах), как показано на рисунке 29. Давайте
разберем, как устранить эти дефекты.

Рисунок 29
Вернемся в редактор анимации, дважды кликнув по
объекту. Далее выберем вкладку Skeleton Tree для анима­
ции и активируем отображение дополнительных опций
ретаргетинга (рис. 30).

Рисунок 30

19
Урок 2

После этого находим в списке суставов проблем­


ный участок. Кликаем по нему ПКМ и выбираем опцию
Recursively Set Translation Retargeting Skeleton, чтобы
заново назначить ориентацию объекта в пространстве
(рис. 31).

Рисунок 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...

В результате появится диалоговое окно настроек.


Здесь можно выбрать родительский класс объектов (Parent
Class), на основе которого будет создана анимация, а так­
же скелет для анимации (рис. 35).
Любой блупринт по умолчанию привязан к опреде­
ленному скелету. К примеру, если в игре присутствует
несколько персонажей-людей, все они подчинены рабо­
те одного и того же скелета. Это делается с определенной
целью: если в движок добавляется новое действие, его не
приходится индивидуально настраивать под каждого от­
дельного персонажа. Достаточно один раз выставить на­
стройки для общего скелета, и подчиненные модели сразу
же научатся действовать по заданной схеме.
В данном случае мы воспользуемся стандартным ске­
летом манекена UE4_Mannequin_Skeleton. Нажимаем ОК
(рис. 36).

Рисунок 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

Asset Browser, добавить ее в рабочую область Anim Graph


и соединить с Final Animation Pose (рис. 41).

Рисунок 41
После этого, если нажать кнопку Compile, можно уви­
деть результат скрипта в окне предпросмотра (рис. 42).

Рисунок 42

26
MakeHuman Unreal Engine. Анимации в Unreal Engine 4...

Однако, если необходимо создать сложное развет­


вленное действие, нужно воспользоваться вкладкой
Event Graph. Давайте напишем простейший скрипт
с анимацией, чтобы разобраться в принципах работы
скриптов.
Для этого обратимся к окну My Blueprint и создадим
новую переменную Jump во вкладке Variables (рис. 43).

Рисунок 43
Добавим Jump в рабочую область с параметром Set
(Задать) (рис. 44).

Рисунок 44

27
Урок 2

Далее необходимо добавить блок, который будет ссы­


латься на самого персонажа, — Try Get Pawn Owner. Для
этого кликаем ПКМ на пустом пространстве в рабочей
области и в строке поиска вводим название необходимо­
го действия (рис. 45).

Рисунок 45
Чтобы связать между собою блоки Try Get Pawn Owner
и корневой блок Event Blueprint Update Animation, который
отвечает за обновление переменных в каждом кадре, до­
бавим дополнительную ноду Cast to ThirdPerson­Character.
В данном случае именно она соответствует нашему типу
персонажа. Соединим все три блока в последовательно­
сти, показанной на рисунке (рис. 46).

28
MakeHuman Unreal Engine. Анимации в Unreal Engine 4...

Рисунок 46
Следующий этап — самый важный, так как именно
он определяет логику скрипта и помогает движку опре­
делиться, сработало действие или нет.
Добавим к скрипту следующие блоки:
1. Character Movement — компонент, который отвечает
за движение персонажа (рис. 47).

Рисунок 47

29
Урок 2

2. Movement Mode — движение в данный момент


(рис. 48).

Рисунок 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. Анимационный блупринт

© Компьютерная Академия «Шаг»


www.itstep.org

Все права на охраняемые авторским правом фото-, аудио- и видеопро-


изведения, фрагменты которых использованы в материале, принадле-
жат их законным владельцам. Фрагменты произведений используются в
иллюстративных целях в объёме, оправданном поставленной задачей, в
рамках учебного процесса и в учебных целях, в соответствии со ст. 1274
ч. 4 ГК РФ и ст. 21 и 23 Закона Украины «Про авторське право і суміжні
права». Объём и способ цитируемых произведений соответствует
принятым нормам, не наносит ущерба нормальному использованию
объектов авторского права и не ущемляет законные интересы автора
и правообладателей. Цитируемые фрагменты произведений на момент
использования не могут быть заменены альтернативными, не охраня-
емыми авторским правом аналогами, и как таковые соответствуют
критериям добросовестного использования и честного использования.
Все права защищены. Полное или частичное копирование материалов
запрещено. Согласование использования произведений или их фраг-
ментов производится с авторами и правообладателями. Согласованное
использование материалов возможно только при указании источника.
Ответственность за несанкционированное копирование и коммерческое
использование материалов определяется действующим законодатель-
ством Украины.

Вам также может понравиться