The Problem
Recently, I came across a developer who was working on a game and asked:
"I set the gravity in my game to 9.81 m/s² (Earth's gravity), but the falls feel way too floaty. Why does this happen? Is there something wrong with my implementation, or is it just how players perceive it?" — @Phantom_TheGame
This is a fascinating question because it touches on the intersection of physics, game design, and human perception. Let’s break it down.
The user shared a video of a character jumping from a considerable height. While the height wasn't specified, the video indicated that the gravity applied was 9.81 m/s² (Earth's gravity) and that there were no other forces like air resistance. Using a video editor, I measured that the character took 1.27 seconds to fall. This led me to calculate the height and investigate why, despite being physically accurate, the fall felt "floaty."
Why Does It Feel "Floaty"?
1. Calculating the Height: How High Was the Jump?
Since we know the fall time
and the gravity
we can calculate the height
using the free-fall formula:
2. Field of View (FOV) and Peripheral Vision
The field of view (FOV) in games plays a huge role in how players perceive movement. In real life, our FOV is around 180 degrees, but in games, it’s often much narrower (60-90 degrees). This narrow FOV distorts our perception of speed and depth.
Low FOV (60-70 degrees): Objects at the edges of the screen move slowly, making falls feel less intense.
High FOV (90-110 degrees): Objects at the edges move faster, enhancing the sensation of speed.
If the game uses a low FOV, even a physically accurate fall can feel "floaty" because the player’s peripheral vision isn’t engaged.
3. Scale and Proportions
The scale of objects in the game world also affects perception. If the environment isn’t scaled realistically, players may misjudge distances and heights.
- Example: If a character is 1.8 meters tall but doors are 3 meters high, a fall from 7.9 meters might feel shorter than it actually is.
- Solution: Ensure consistent scaling. In Unity, for example, use 1 unit = 1 meter to maintain realism.
4. Lack of Resistances
In real life, factors like air resistance affect how we experience a fall. In games, these resistances are often ignored to simplify physics calculations. Without them, falls can feel slower or "floaty."
- Example: In Unity, even with gravity set to 9.81 m/s², objects can seem to fall more slowly due to the absence of air resistance or friction.
5. Camera Movement and Perspective
The way the camera moves during a fall can also influence perception. If the camera follows the character too smoothly or slowly, it can make the fall feel less impactful.
- Tip: Add slight camera shakes or adjust the camera’s follow speed to make falls feel more dynamic.
Recommendations for Fixing "Floaty" Gravity
1. Adjust the Field of View (FOV)
- Recommendation: Increase the FOV to 90-110 degrees. This makes movements feel faster and more immersive (while falling).
- Example: In first-person games, a higher FOV can make falls feel more intense.
2. Use Realistic Scaling
- Recommendation: Ensure objects are scaled realistically. For example, if a character is 1.8 meters tall, doors should be around 2 meters high.
- Tools: In Unity or Godot, use 1 unit = 1 meter for consistency.
3. Add Resistances
- Recommendation: Incorporate air resistance or other forces to make falls feel more realistic.
- Example: In Unreal Engine, you can tweak physics settings to add drag or increase gravity slightly (e.g., 2.8 times the default value).
4. Tweak Camera Behavior
- Recommendation: Adjust the camera to make falls feel more dynamic. For example, add slight camera shakes during the fall or speed up the camera’s follow movement.
5. Test with Real-World References
- Recommendation: Compare your game’s falls to real-world examples. For instance, record a video of someone jumping from a height and compare it to your game’s fall animation.
Conclusion
Even with gravity set to a physically accurate 9.81 m/s², falls in games can feel "floaty" due to factors like FOV, scaling, lack of resistances, and camera behavior. By adjusting these elements, you can create a more immersive and realistic experience for players.
Q:
- Have you encountered the problem of “floating” gravity in video games? Do you have any tips or corrections to share?
Top comments (0)