GameDev 3.0. Этап 2.3. Дальний бой. Урок 3. Механика паркура, ч.2
- Просчет, может ли персонаж взобраться на объект и не будет ли ему что-то мешать по высоте
- Создание Enumerator для механики паркура
- Создание нового параметра - Structure. Создание нескольких таких параметров и подключение их
- Параметры для анимаций на разной высоте
- Кастомный блюпринт Curves
- Вычисление параметров для Mantle Params
Стартовая страница
Просчет, может ли персонаж взобраться на объект и не будет ли ему что-то мешать по высоте
Get Capsule Location From Base
Заходим внутрь функции, делаем "красиво":
↑ Вверх
Создание Enumerator для механики паркура
HighMantle, LowMantle, FallingCatch
Добавляем новую функцию Mantle Start:
↑ Вверх
Создание нового параметра - Structure. Создание нескольких таких параметров и подключение их
Зайдем внутрь, добавим переменные
AnimMontage, тип Anim Montage -> Object Reference:
Position / Correction Curve, тип Curve Vector -> Object Reference:
Еще добавим переменные StartingOffset типа Vector; LowHeight, LowPlayRate, LowStartPosition, HighHeight, HighPlayRate, HighStartPosition все типа Float, и сохраняем:
Продублируем и назовем ST_MantleParams:
Заходим внутрь, удаляем 4 нижних переменных, первые три оставляем без изменений, четвертую и пятую переименовываем в StartingPosition и PlayRate соответственно:
Эти параметры понадобятся нам для следующих механик.
↑ Вверх
Параметры для анимаций на разной высоте
Возвращаемся в BP_ThirdPersonCharacter, создаем переменную MantleAsset типа ST_MantleAssets:
С зажатым Alt перетащим эту переменную и подключаем с Sequence -> Then 0:
Называем эту функцию Get Mantle Asset, выделяем ее и в Details включаем Pure:
↑ Вверх
Кастомный блюпринт Curves
Здесь нам надо выставить Position / Correction Curve - это по сути ассет кривой:
Назовем кривую Mantle_2m. Зайдем внутрь и настроим на каждую ось анимацию, нам надо проанимировать все 3 оси. Для начала уберем пины с осей X и Y, на Z оставим: