King, Witch and Dragon. Отчёт 4

Всю прошедшую неделю я занимался доделыванием, настройкой и полишингом способностей персонажа и их анимаций. Все способности в их текущем виде попадут в билд для фестиваля на itch.io.

Паучьи лапы

С паучьими лапами, а точнее с анимациями персонажа, когда он находится на стене, ситуация оказалась сложнее, чем я ожидал.

На всех предыдущих gif-ках с паучьими лапами у персонажа была временная анимация-заглушка.

Вот такая...

Многие из вас в комментариях, а также в социальных сетях, говорили, что было бы хорошо, если бы персонаж менял положение тела в зависимости от того, по какой поверхности ползёт (сгибался, поворачивался к стене, касался стены или перебирал руками по стене вместе с лапами и т.д.). Я согласен, что это звучит здорово, но я придерживаюсь идеологии "gameplay first".

С точки зрения геймплея, я хочу дать персонажу возможность сражаться, когда он ползёт по стене или потолку - как минимум, атаковать в 4 направлениях (вверх, вниз, влево, вправо). Если делать несколько адаптивных анимаций со сгибанием или поворотом к стене, а поверх этого еще делать несколько анимаций атаки, то объем работ и потраченного времени начинает увеличиваться в геометрической прогрессии.

По этому я принял для себя компромисное решение, что персонаж, когда ползёт по стене или потолку, всегда будет оставаться в вертикальном положении и из этого положения будет атаковать. Это выглядит немного странно и не анатомично, т.к. паучьи лапы могу поворачиваться на 360 градусов за спиной персонажа, но зато служит поставленным геймплейным целям и не раздувает объем работ.

Анимация персонажа

Для анимации персонажа я использовал подход со смешиванием анимаций, в зависимости от скорости движения персонажа.

Я сделал 5 зацикленных анимаций:

  • без движения (айдл на стене)
  • движение по стене вверх
  • движение по стене вниз
  • движение по потолку влево
  • движение по потолку вправо
King, Witch and Dragon. Отчёт 4

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

Находясь на стене или потолке, персонаж может двигаться не только влево-вправо, но и вверх-вниз. По этому я использовал двухмерный Blend Tree с двумя параметрами - горизонтальная и верткальная скорость персонажа.

Крсная точка показывает текущие значения скорости. Голубые круги показывают степень влияния каждой анимации на финальную анимацию персонажа.​
Крсная точка показывает текущие значения скорости. Голубые круги показывают степень влияния каждой анимации на финальную анимацию персонажа.​

Вот что получилось в итоге:

Я всё ещё не удовлетворен этой анимацией, так что я вернусь к ней когда будет больше контекста (как минимум анимации атаки).

Анимация паучьих лап

Для паучьих лап я сделал возможность ползать по двигающимся из вращающимся платформам:

Щупальце

Для щупальца я сделал анимацию вытягивания руки в напралении броска щупальца.

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

Рука корректно "смотрит" в нужном направлении, но смотрится это плохо, потому что плечо и торс персонажа никак на это не реагируют. В реальности мы физически не можем поднять руку выше уровня плеча, не подвинув само плечо, строение нашего скелета нам это не позволяет. Также, при прицеливании вниз, рука проходит сквозь ногу персонажа.

Чтобы решить эти проблемы, я сделал 3 аддитивные анимации (рука вверх, рука вниз и рука вперёд) и начал их смешивать в зависимости от направления броска щупальца.

Получилось вот так:

Так как эти анимации аддитивные (добавляются отдельным слоем поверх основной анимации), то они могут проигрываться и поверх анимации прыжка и поверх анимации нахождения на стене. Отдельных анимаций для этих состояний делать не пришлось.

Бросок гадюки

Для этой способности я сделал простую анимацию перехода персонажа в форму змеи и выхода из нее.

Основной эффект перехода будет представлять собой эффект частиц и будет скрывать пропадание персонажа и появление змеи. Также, змея не будет появляться вся целиком сразу, она будет выползать из портала, открытого на месте персонажа. Та часть змеи, которая еще в портале, будет отрезаться шейдером. По тому же принципу она будет заползать в портал при переходе в форму человека.

Анимация персонажа в слоумо без эффектов выглядит вот так:

Направление взгляда

Также я сделал так, что персонаж в любом состоянии поворачивает голову в направлении инпута игрока. Особенно хорошо это ощущается при игре с геймпадом, когда персонаж плавно поворачивает голову в направлении стика.

Это мелкая деталь, но она хорошо усиливает ощущение того, что персонаж "слушается" игрока.

Что дальше?

На этом работа над способностями персонажа закончена. На следующей неделе я сделаю playground-уровень, по которому можно будет побегать и потестировать все имеющиеся способности персонажа, а также подготовлю билд для itch.io

Bonus!

Я разыгрываю 1 билет на DevGamm Online у себя в группе VK! Вступайте в группу, чтобы узнать подробности. Счастливчик будет объявлен в воскресенье 3 мая.

King, Witch and Dragon. Отчёт 4

Ну а пока, если вам интересен проект, подписывайтесь на меня в Instagram и Twitter, а также вступайте в группу VK, в которой я публикую апдейты и материалы по проекту до того как они попадают сюда.

Спасибо за внимание!

3030 показов
151151 открытие
2 комментария

Андрей, держите высокую планку от поста к посту, вы большой молодец — спасибо за девлоги про King, Witch and Dragon, игра получается крайне симпатичной и трудоёмкой, несмотря на казалось бы тривиальный жанр.

Ответить

Спасибо!
Единственное, я бы поспорил, что метроидвания это тривиальный жанр, но не буду :)

Ответить