King, Witch and Dragon. Devlog #3
Итак, модели главного героя и его способностей готовы, теперь пришло время подготовить их к анимации. В моём случае это включает 2 этапа: риггинг (создание и настройка вирутального скелета) и скиннинг (привязывание полигональной сетки к виртуальному скелету).
Подготовка
Когда-то давным-давно у меня был опыт создания 3D-моделей, но я никогда до этого не собирал сам риг и не скиннил модель. По этому я решил выделить часть времени на изучение теоретической части - почитать мануалы, посмотреть видео, пройти курсы и т.д.
К сожалению, что в русскоязычном, что в англоязычном сегменте информации на тему риггинга и скиннига персонажей не так много, а то, что есть, в большинстве своём очень поверхностное. Почти всегда всё сводится к следующему: "Создайте скелет из трёх костей. Выделите скелет, выделите модель, нажмите кнопку parent. Выберите "автоматические веса". Успех, наша игровая модель готова!". Мне такое не подходит, по этому я стал копать глубже...
Что оказалось полезным?
Сначала я наткнулся на этот курс - Character Creation Volume 2 – Rigging.
В целом, курс оказался достаточно неплохим и дал базовое понимание что и как работает. Главный минус, что модель и техники, которые показывал автор, больше подходят для синематиков, а не для внутриигровых моделей.
Настоящей находкой для меня оказался курс The Art Of Effective Rigging In Blender.
В нем было всё, что мне нужно - професональный риггер (а не просто лектор), который явно знает, что он делает; риг рассчитан на экспорт в unity или unreal; показаны техники уровня intermediate и выше.
Но есть один нюанс...
Оба курса на английском, но у второго курса автор француз с ОЧЕНЬ сильным акцентом. Мне повезло, что я последние 5 лет работал в интернациональной компании и у меня было много коллег французов, так что я достаточно хорошо научился парсить френглиш. Если вы решите приобрести этот курс, то я рекомендую для начала посмотреть бесплатные видео на канале автора, чтобы понять, сможете ли вы нормально усваивать информацию в таком виде или нет. В комментариях на блендермаркете многие указывали на то, что у них возникли трудности с прохождением курса именно из-за акцента автора.
У меня таких проблем не было, по этому вооружившись знаниями я приступил к созданию своего первого рига.
Персонаж
Для начала я сделал так называемый deformation skeleton, который является просто набором костей без дополнительных контроллеров. Затем, я заскинил модель персонажа на этот скелет и вручную попробовал поставить его в несколько поз, чтобы убедиться, что скиннинг работает как надо.
Далее я занялся непосредственно ригом. Игра подразумевает, что у персонажа будет достаточно широкий спектр возможных действий и анимаций (движение по наклонным поверхностям и по стенам, движение в воздухе, атаки на земле и в воздухе, специальные анимации для спосоностей), по этому риг должен обеспечивать эту свободу.
В итоге получилось вот что:
Основные фичи:
- Переключение Forward Kinematics / Inverse Kinematics (FK/IK) для рук и ног
- Переключение изолированного вращения рук, ног, шеи и головы
- Управление кистями и пальцами на руках
- Управление перекатом стопы в двух направлениях
- Управление тканями (шарф и набедренная повязка)
- Управление волосами
- Переключение привязки оружия к руке
- Управление клинком (сгибание, скручивание)
- Управление лицевой анимацией
Да, я заморочился с лицевым ригом тоже.
Предвкушая комментарии по поводу внешности персонажа, я решил сыграть на опережение ;)
Способности
Также я сделал риги для всех способностей, кроме щупальца, потому что, по задумке, оно будет анимироваться не костями, а полностью процедурно.
Паучьи лапы
По сути это простая IK-цепь, которая будет процедурно анимироваться в игровом движке.
Крылья летучей мыши
Тут всё просто и без заморочек. Главное, иметь возможность сделать выразительную анимацию взмаха.
Змея
Хвост змеи во время рывка будет анимироваться процедурно, а для головы сделал простенький риг.
Что дальше?
Дальше анимация и интеграция анимаций в игровую логику. Этот этап тоже скорее всего будет достаточно долгим, потому что требует предварительной теоретической подготовки. Но время пока не поджимает и хочется сделать хорошо...
Спасибо за внимание!