February 23

GameDev 3.0. Этап 2.3. Дальний бой. Урок 3. Механика паркура, ч.2

  1. Просчет, может ли персонаж взобраться на объект и не будет ли ему что-то мешать по высоте
  2. Создание Enumerator для механики паркура
  3. Создание нового параметра - Structure. Создание нескольких таких параметров и подключение их
  4. Параметры для анимаций на разной высоте
  5. Кастомный блюпринт Curves
  6. Вычисление параметров для Mantle Params

Стартовая страница

Просчет, может ли персонаж взобраться на объект и не будет ли ему что-то мешать по высоте

Get Capsule Location From Base

Удаляем эти рероуты:

Заходим внутрь функции, делаем "красиво":

Capsule Has Room Check

Вызываем переменную Capsule:

Отключим пока

Initial Trace Normal

Target Transform

Mantle Height

Mantle Height

Вверх

Создание Enumerator для механики паркура

HighMantle, LowMantle, FallingCatch

Добавим новый пин в Sequense:

Добавляем еще 1 пин - Then 4:

Добавляем новую функцию Mantle Start:

Mantle Height

Вверх

Создание нового параметра - Structure. Создание нескольких таких параметров и подключение их

ST_ComponentAndTransform

Зайдем внутрь, добавим переменные

MantleLedgeWS MantleType

ST_MantleAssets

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:

Mantle Type

Вверх

Кастомный блюпринт Curves

Здесь нам надо выставить Position / Correction Curve - это по сути ассет кривой:

и здесь выбираем CurveVector:

Назовем кривую Mantle_2m. Зайдем внутрь и настроим на каждую ось анимацию, нам надо проанимировать все 3 оси. Для начала уберем пины с осей X и Y, на Z оставим:

Вверх

Вычисление параметров для Mantle Params

Переходим в

MantleParams

Вверх

Стартовая страница