Гарри Поттер и урок заклинаний

Продолжаю пилить свою игру про Гарри Поттера на чужих ассетах. Первая часть здесь

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

Моя основная проблема: недостаток знаний. А вторая - все туториалы на ютубе берут максимально стандартные задачи и решают их максимально стандартными способами. Наверно это правильно, потому что они должны дать базу, но у меня задача не стандартная и их способы мне зачастую не подходят. Например, как на ютубе предлагают реализовать механизм прицеливания? Просто добавляют второй Animation Layer, на нём настраивают анимации прицеливания и стрельбы, вешают туда Avatar Mask с отключенными ногами у них всё работает. Анимации рук для прицеливания и стрельбы идут из нового слоя, анимации ног - из базового, где реализовано передвижение.

Я не могу использовать этот подход, потому что у меня анимация прицеливания стоя на месте задействует всё тело. А анимация прицеливания на бегу - только правую руку. Поэтому я сделал следующим образом:

Базовый слой
Базовый слой

Есть анимация Standing Aim для прицеливания когда я стою. И есть слой анимации, который применяется только к правой руке, синхронизирован с базовым и добавляет анимацию прицеливания для blend tree Movement. А третий слой задействует только ноги и срабатывает когда мы крутим камеру во время прицеливания стоя на месте, чтобы персонаж поворачивался естественнее.

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

Далее, собственно заклинания. Я увидел туториал, где разбиралась гибкая настройка разных пушек в шутере, и подумал: "Это же то что надо" Тут чувак переключается между пистолетом и винтовкой, а я буду переключаться между Акцио и Депульсо. Какая разница? В процессе выяснилось, что разница всё же есть. У оружия разные модельки, которые нужно спавнить в разных местах, у оружия разные скорострельность, разброс, и так далее. И всё это мне не нужно потому что у меня одна палочка на все случаи жизни и всё, что мне нужно менять - это след от "выстрела". Код я, естественно, переписал чтобы палочку каждый раз при смене заклинания заново не создавать, и в целом он работает, но я не уверен, что это лучший вариант.

Пока что сделал три заклинания - Депульсо отталкивает предметы, Акцио - притягивает, Алохомора - открывает сундуки. И с подобными заклинаниями всё, в принципе, понятно. Но я управление сделал гибридом из старых игр про ГП и Хогвартс Легаси. То есть прицеливание при зажатой ЛКМ, каст при отпускании ЛКМ как в ГП. А выбор заклинания - цифры от 1 до 5, почти как в ХЛ, только там было до 4, потому что геймпад. Так вот, в дальнейшем я хочу ещё заклинания продолжительного действия, например Агуаменти - из палочки начинает литься вода. Если у меня заклинание начинает работать при отпускании кнопки мыши, как мне определить когда оно должно закончиться? Я подумаю об этом когда-нибудь потом.

Следующее, что хочу сделать - полёт на метле.

77
4 комментария

Вав, да ты отважный. Ты главное не пытайся на них зарабатывать.

1

Не, ну ясен пень для заработка чужую интеллектуальную собственность использовать не получится. Но для обучения - почему нет?

Шикарно, ну чисто ностальгия