Почему ступени превращают движение в задачу геометрии
На экране лестница состоит из множества отдельных граней: горизонтальных проступей и вертикальных подступенков. Но для управления персонажем игре важно не только нарисовать эту форму — нужно постоянно проверять, с чем столкнётся его условная «оболочка» и куда ей разрешено двигаться.
Если обсчитывать каждую ступень отдельно, персонаж может снова и снова цепляться за её край. Упрощённый вариант — заменить лестницу для системы столкновений гладкой наклонной поверхностью. Такая поверхность называется коллизионной рампой: она невидима для игрока, но служит физической опорой для героя. Модель персонажа движется вверх по наклону, а изображение ступеней остаётся прежним.
Откуда берётся дрожание у края
Упрощение работает, пока видимая лестница и невидимая рампа достаточно хорошо совпадают. На резком краю персонаж может одновременно оказаться рядом с несколькими поверхностями: рампой, полом или стенкой ступени. Тогда система движения получает конкурирующие ответы — например, продолжать скользить вверх или остановиться перед препятствием.
Если решение меняется от одного короткого шага симуляции к следующему, герой слегка перемещается туда-сюда. Это выглядит как вибрация. Он может и зависнуть: оболочка персонажа упирается в геометрию так, что расчёт не находит простого направления для продолжения движения. Особенно заметно такое несоответствие возле острых углов, где плавная невидимая поверхность встречается с резко очерченной видимой ступенью.
Цена гладкого подъёма
Рампа снижает сложность столкновений и помогает персонажу подниматься без отдельной обработки каждой ступеньки. Но это компромисс: чем сильнее упрощена геометрия, тем важнее аккуратно согласовать её с моделью героя и реальной формой лестницы. Поэтому небольшое дрожание у края — не обязательно проблема самой анимации: иногда персонаж буквально получает противоречивые указания от двух разных вариантов одной и той же лестницы.






