Как игра находит опору под ногой

Модель персонажа движется по заданной анимации, но поверхность под ней не обязана быть ровной. Если просто проиграть одинаковый цикл шагов на любом склоне, ступня может пройти сквозь камень, зависнуть над ним или коснуться земли только краем. Чтобы этого не случилось, игра отдельно уточняет, где именно должна оказаться стопа.

От поверхности к позе

Для каждой ноги система проверяет участок земли рядом с ожидаемым местом шага — например, с помощью невидимого луча, направленного вниз. Так она получает высоту поверхности и её наклон. Затем цель стопы смещается к найденной опоре, а суставы ноги сгибаются так, чтобы приблизить ступню к этой точке.

Это называют обратной кинематикой: аниматор задаёт положение конечной точки — стопы, — а алгоритм рассчитывает промежуточные положения суставов, например колена и бедра. Движение ноги при этом не обязательно пересоздавать целиком: система корректирует готовую анимацию на лету.

Почему коррекция должна быть осторожной

Если мгновенно передвигать стопу за поверхностью, нога будет дёргаться при каждом изменении рельефа. Поэтому поправку обычно сглаживают и ограничивают: суставы не могут изгибаться как угодно, а стопа не должна улетать далеко от шага, предусмотренного анимацией. На крутом или резком препятствии игра может предпочесть менее точную постановку ноги, сохранив естественный темп движения.

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