Gravity Delta Time
Explanation video on youtube!
The right way to apply gravity with delta time is not obvious. There are three basic ways to do it:
- before movement
- after movement
- half before and half after movement
Only type 3 is correct. Type 1 makes the jump arc get smaller at lower framerates, and type 2 makes the jump arc get bigger at lower framerates. This looping example demonstrates this fact.
Code:
func physics_early(delta): #wrong
# ... inputs, jumping, interactions, etc. go here ...
velocity.y += gravity*delta
global_position += velocity*delta
func physics_late(delta): #wrong
# ... inputs, jumping, interactions, etc. go here ...
global_position += velocity*delta
velocity.y += gravity*delta
func physics_mixed(delta): #correct
# ... inputs, jumping, interactions, etc. go here ...
velocity.y += gravity*delta*0.5
global_position += velocity*delta
velocity.y += gravity*delta*0.5

Comments
Log in with itch.io to leave a comment.
This is huge aha moment! 👍