TWELL - part 2

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

Для начала - вот схема:
Далее расписываю по пунктам.

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

  1. Голова
  2. Туловище и руки
  3. Таз и ноги
Я разделил так для того, чтобы во время бега (основную анимацию в котором принимают все же ноги) можно было менять оружие, стрелять или бить морды противникам (за эту анимацию отвечают руки и, частично, туловище) и не приходилось рисовать отдельную раскадровку (чарсет) для каждой из этих комбинированных анимаций. Тем более, что при переключении с одной на другую нужно также соблюдать порядок кадров, чтобы не было заметно, что ноги вдруг сбились с шага во время, допустим, перезарядки оружия сразу после стрельбы на бегу.

Кто-то скажет, что это легко реализовать и все такое, но я в этом случае отвечу, что не хочу тратить тонны времени на сохранение каждого чарсета, если вдруг мне вздумается немного изменить внешность персонажа.

С использованием костей внешность персонажа становится модульной - то есть. к примеру, отдельно левое плечо, левое предплечье и левая кисть. Вся рука разделена на три разных рисунка. Но три рисунка - это не десяток кадров чарсета, верно?

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

К ногам также привязаны триггеры, но они по большей части являются пассивными (независимыми от действий игрока). Что это значит? Это значит, что они будут стараться выровнять свое положение так, чтобы персонаж не упал, на любой поверхности под любым уклоном. Это сделано для того, чтобы сделать честную анимацию бега по лестнице - персонаж сможет наступать на каждую ступеньку или прыгать через одну-две и всегда наступать на них, а не как это обычно делается в играх (это так называемые "игровые условности").

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

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

Написал как можно короче и, надеюсь, хоть немного понятно и интересно. Теперь осталось это реализовать и посмотреть, что из этого выйдет))

Комментарии

Популярные сообщения из этого блога

Генератор названий оружия

Создание компонента Delphi

Идеи: Генератор сказки