В играх есть 2 вида времени: время цикла и время deltaTime.
В сценарии, основанном на цикле, физика не сдвигается на счет задержки, поэтому лучшее решение таково:
Вы начинаете с последовательности чисел, где вы соединяете гравитацию с предыдущим числом в последовательности, пока общая сумма не станет равной желаемой высоте.
В качестве примера я буду использовать высоту = 75, гравитацию = 5 и jumpForce = неизвестно
(5 + 10 + 15 + 20 + 25) = 75
Сила прыжка, необходимая для достижения этой высоты, будет последним числом в последовательности, равным «25».
В сценарии deltaTime (как используется в данном случае) физика абстрагируется, чтобы попытаться приспособиться ко времени.
Итак, если у вас есть 5 кадров в секунду, у вас будет 5 циклов в секунду. если у вас 20 кадров в секунду, у вас будет 20 циклов в секунду; Итак, эта абстракция делает вышесказанное неуместным.
Вместо этого используйте стандартную гравитационную формулу высоты = скорости ^ 2 / (2 * гравитации)., Поскольку это будет лучше моделировать формулы, используемые двигателями с дельта-временем.