Скелетная 2D-анимация в Unity с помощью плагина Puppet2D

в 8:24, , рубрики: game development, puppet2d, unity3d, анимация, скелетная анимация

Пожалуй, все начинающие «игроделы» в разработке игр сталкивались с анимированием своих персонажей. Перед нами стоит выбор спрайтовой или скелетной анимации. В этой статье я рассмотрю основные принципы работы с плагином Puppet2D для скелетной анимации.

1. Установка

Итак, работа начинается с покупки и установки самого плагина с Asset Store:

image

Далее добавляем плагин в рабочую область: Window >> Puppet2D

Скелетная 2D-анимация в Unity с помощью плагина Puppet2D - 2

2.Создание скелета. Подготовка

Перед созданием скелета, выстраиваем спрайты на сцене и создаем Layer для персонажа (куда поместим спрайты, я назвала его «Player»):

Скелетная 2D-анимация в Unity с помощью плагина Puppet2D - 3

Скелетная 2D-анимация в Unity с помощью плагина Puppet2D - 4

и Sorting Layer для костей и контроллеров (тут «Bones» и «Controllers»). Попутно выставляем слоя для костей и контроллеров в самом Puppet:

Скелетная 2D-анимация в Unity с помощью плагина Puppet2D - 5

3.Создание скелета

Переходим, непосредственно, к созданию самого скелета. Для удобства, чтобы спрайты не мешались и не выделялись, заблокируем их слой:

Скелетная 2D-анимация в Unity с помощью плагина Puppet2D - 6

Создание начинается с кнопки «Create Bone Tool» (1)

Скелетная 2D-анимация в Unity с помощью плагина Puppet2D - 7

Нажимаем ЛКМ на нужных местах, по окончании — ПКМ или «Finish Bone» (2). Если сначала нажмем на уже существующую кость и создадим от нее еще одну, то та станет костью-родителем.

Скелетная 2D-анимация в Unity с помощью плагина Puppet2D - 8

Для хребтов людей и животных существует кнопка «Create Spline Tool»(3). Помечаем начальную и конечную точку, а показатель (4) — количество костей между данными точками. На концах этих точек автоматически появятся контроллеры. Завершаем сплайн кнопкой «Finish Spline»(5).

Скелетная 2D-анимация в Unity с помощью плагина Puppet2D - 9

В итоге должен получится примерно такой скелет:

Скелетная 2D-анимация в Unity с помощью плагина Puppet2D - 10

4.Создание скелета. Вешаем контроллы

Далее все просто — на конечности вешаем контроллы:

Скелетная 2D-анимация в Unity с помощью плагина Puppet2D - 11

(1) — Контроллер для конечностей (рук, ног)
(2) — Контроллер-родитель
(3) — Контроллер только для поворотов (например, головы)

5.Создание скелета. Привязка спрайтов к скелету

Существует 2 способа привязки:

  • если одному спрайту соответствует одна кость;
  • если одному спрайту соответствуют 2 и больше костей.

В первом случае все очень просто: выбираем нужные кости, выбираем нужный спрайт и жмем кнопку «Parent Object To Bones»:

Скелетная 2D-анимация в Unity с помощью плагина Puppet2D - 12

Во втором придется немного заморочится, ибо нужно конвертнуть спрайт в мэш. Выбираем спрайт и жмем кнопку «Convert Sprite To Mesh»:

Скелетная 2D-анимация в Unity с помощью плагина Puppet2D - 13

Показатель «Type of Mesh»(1) (От 0 до 4) указывает на количество треугольников в полигоне. Чем выше тип, тем их больше.

Следующим шагом будет привязка этого мэша к костям. Выбираем его, выбираем кости и жмем «Bind Smoth Skin»:

Скелетная 2D-анимация в Unity с помощью плагина Puppet2D - 14

Но так как все автоматизированное не всегда на практике оказывается красивым, и рука вашего героя вдруг будет гнуться посредине кости, переходим к заключительному пункту построения скелета:

6. Создание скелета. Корректировка весов

Если объяснить упрощенно, то веса показывают, какая кость гнет какой мэш. Выбираем нужный мэш, затем редактируем, начиная с кнопки «Paint Weights»:

Скелетная 2D-анимация в Unity с помощью плагина Puppet2D - 15

Выбираем нужную кость и там где белый цвет — кость гнет мэш, там где черный — нет:

Скелетная 2D-анимация в Unity с помощью плагина Puppet2D - 16

Выбираем толщину и жесткость кисти и закрашиваем веса с помощью ЛКМ:

Скелетная 2D-анимация в Unity с помощью плагина Puppet2D - 17

Shift + ЛКМ = Смяхчение переломов
Ctrl+ ЛКМ = Стирание весов

Заканчиваем редактирование кнопкой «Finish Edit Skin Weights».

7. Анимация

Заключитальным этапом конечно же будет анимация. Тут уже ваша фантазия неограничена. Двигаем контроллы, выставляем позы и, вуаля, вот наш скелетик уже бегает:

Скелетная 2D-анимация в Unity с помощью плагина Puppet2D - 18

Напоследок добавлю туториал с оффициального YouTube-канала Puppet2D:

Автор: Prelestnaya

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js