Stride Warping или процедурное изменение шага в зависимости от скорости
Мега утрированный пример
Мой телеграм канал по unreal и анимации
Сначала включим плагин Animation Warping
Идем в Animation Blueprint Персонажа ( я буду показывать на ABP от эпиков)
Идем в AnimGraph , правая кнопка мыши и ищем Stride Warping
Левой кнопкой по Stride Warping , в режиме Mode выбираем Graph
Берем скорость нашего персонажа ( в дефолтном примере от эпиков она находится в переменной Velocity) ,берем от туда Vector XY и подключаем в Locomotion Speed
Дальше указываем Pelvis Bone и IK Foot Root Bone
IK_Foot_Root служит общим родительским объектом для двух отдельных IK-целей каждой ноги: ik_foot_l и ik_foot_r - у эпиковского скелета
Если в скелета вашего персонажа нет такой кости - можете указать обычную Root Bone
Идем дальше : Foot Definitions
И указываем наши кости , в IK Foot Bone - указываем ik_foot_l
Это спецальная косточка для IK - она полностью повторяет движение foot_l
Дальше указываем FK Foot Bone туда я указываю кость стопы
В Thigh Bone -указываю кость бедра
Тоже самое делаю для правой ноги
Дальше идем в Stride Scale Modifier
Ставим все галочки и оставляем дефолтные значения
1. Clamp Max
- Этот параметр отвечает за длину шага, точнее, ограничивает, насколько сильно нога может подстроиться под фактическую скорость.
- Значения 1.0 обычно хватает, однако, если скорость смещения сильно отличается от скорости в анимации, лучше ставить значение больше 1.0.
Дальше идем в Pelvis IK Foot Solver (Этот раздел отвечает за подстройку таза )
- В этом разделе в параметре Pelvis Adjustment Alpha по умолчанию стоит 0.5.
- Однако, если вы установите в Clamp Max, скажем, 1.5, то может возникнуть баг (артефакт) при возврате в состояние Idle (бездействие).
Исправить мы это может просто поставив значение 0 заместо Pelvis Adjistment Alpha или же в Pelvis Adjistment Interp поставить в
Stiffness Contrast 0 и в Dampeng Ratio 0
Рассмотрим Debug
это очень полезный инструмент, чтобы визуально отслеживать изменения, которые вносит эта система.
- Debug Draw Scale: Размер. Масштаб стрелок, сфер и линий отладки во вьюпорте
- Enable Debug Draw: Рубильник. Включает или выключает отображение всей визуализации отладки.
- Debug Draw IKFoot Origin: Было. Показывает, где находилась стопа в исходной анимации до применения варпинга.
- Debug Draw IKFoot Adjustment: Сдвиг. Вектор, показывающий, насколько и в какую сторону система сдвигает стопу (растягивает или сжимает шаг).
- Debug Draw Pelvis Adjustment: Таз. Показывает, насколько система опускает таз вниз, чтобы ноги могли дотянуться до новой позиции (тот самый параметр, что вызывал проваливание).
- Debug Draw Thigh Adjustment: Бедро. Показывает коррекцию вращения бедренной кости для адаптации к новому шагу.
- Debug Draw IKFoot Final: Стало. Финальная точка, где стопа находится сейчас, после всех искажений.