Я искал в Интернете, чтобы помочь установить максимальную скорость моего персонажа - в основном, устанавливая верхний предел его горизонтальной скорости. Лучшее, что я нашел на данный момент, это:
rb.velocity = new Vector2(Mathf.Clamp(rb.velocity.x, -maxSpeed, maxSpeed), rb.velocity.y);
Основная проблема в этом, однако, заключается в том, что это препятствует тому, чтобы фактическая скорость персонажа проходила мимо любого установленного значения maxSpeed (скажем, 4), что означает, что, если, скажем, его ударит движущийся объект, который будет толкать его так, чтобы его горизонтальная скорость превышала 4, всякий раз, когда производились вычисления движения, она сбрасывалась бы в 4. То, что я ищу, - это то, что не позволило бы персонажу ускориться самостоятельно за последние 4, но это все же позволило бы ему двигаться с внешней силой.