3(твоя скорость, velosity.y>твой ограничитель?твой ограничитель: velocity.y, по примеру с y)
Не учитывает отрицательные значения, и на плоскости скорость считается через Пифагора. Если реально нужно скорость ограничить, а не её компоненты
Это просто ограничивает скорость, если хотите ещё и отрицательные, то рассчитывайте до velocity, а что с этими штанами вашими, я понятия не имею.
Штанами?) В скалярном понимании, скорость это длина вектора velocity (скорости). Судя из описания, по одной из компонент ограничения делать не нужно - это оставляет нас с X и Z осями. В их рамках скорость составит sqrt(x^2+y^2) - эту величину нам и нужно ограничить. Следовательно, мы можем составить новый Vector2 из данных значений, сделать его MagnitudeClamp и вернуть компоненты назад в velocity "Ещё и отрицательные" придется в любом случае, иначе особого смысла в таком ограничении не будет. Игрок будет ограничен только по 2 "сторонам света" вместо 4-ех Если мы делаем ограничение каждой компоненты отдельно, то происходит именно ограничение компонент, а не модуля скорости. Следовательно, максимальные скорости условного игрока на плоскости по координате x и координатам x z будут отличаться, что, как мне кажется, в рамках задачи будет некорректно
Обсуждают сегодня