- Home /
rigidbody gameobject floats at high weight
I have a game object with rigidbody component and the weight value is high but when I start the game, it floats down like a balloon, what should I do about it?
Answer by JackhammerGaming · Aug 17, 2020 at 02:00 PM
@EnderKhai it's a very well known fact that falling rate of object never depends upon mass (that metal ball and feather experiment with and without vacuum?) the same applies to physics in unity what you have to do is increase your gravity scale that will make the fall faster for your object.
Answer by FlaSh-G · Aug 17, 2020 at 02:03 PM
Read up on physics :)
The mass (not weight!) of an object determines how much force you need to to accelerate the object up to a specific speed. In the same way, it's how much force you need to decelerate an object down to a stop.
Earth's gravity, the force that applies to objects that makes them move towards the surface, is so high that the acceleration is roughly the same for everything. The reason that lighter objects fall more slowly is because of air being in the way, and lighter objects having less mass to push the air aside. Here's what two objects falling in a vacuum look like: https://youtu.be/inT1XfSYW8E No air resistance, equal gravity.
So, why is your object floating? Your description sounds like it's falling more slowly than an object with lower mass - or is it just equally fast? Unity applies gravity each frame as pure acceleration, meaning that it ignores the mass of your Rigidbody entirely. If there is a difference between your heavy object and others, then there must be something else involved.
If you want to model air resistance, that's what the drag parameter is for. It's a massive abstraction, because a realistic simulation is way beyond what a realtime application could perform. It simply decelerates the object constantly. The higher the drag, the higher the deceleration. While in air, you'd give a feather a high drag value and a bowling ball a low one.