Я придумал,как это решить.
В общем,все решается таким скриптом:
if (!OnFloor) #если игрок НЕ стоит на земле
{
Physics.gravity = Vector3.Lerp(Physics.gravity, new Vector3(0, -120f, 0), Time.deltaTime); #постепенно увеличивает гравитацию.
}
else
{
Physics.gravity = new Vector3(0, -9.81f, 0); #Возвращает гравитацию в исходное положение при падении на землю
}
new Vector3 - это максимальная скорость падения. Не рекомендую значение устанавливать больше (0, -200f, 0),потому что персонаж может пролетать сквозь тонкие объекты.
new Vector3 можно заменить на Physics.gravity * 1.5f , но в таком случае при падении с высокой горы ваш персонаж провалится сквозь землю.
Time.deltaTime вы можете умножить на какое-нибудь число (чем больше число,тем быстрее разгон),тогда получится так: Time.deltaTime * 2f