Gravity seems "slow".
Hey all,
Just started using the new 2D features in Unity- They're great! However, I seem to have an issue. When I add a rigidbody 2D, the default gravity seems very, very low. So I end up setting the scale to something like 10 or 15. This feels better, but then my jump code gets all wacky because I have to have crazy amounts of force to account for the gravity.
Is this correct? Is default gravoty just really low? Gravity is set to default value in the project settings. I just watched 5 or 6 tutorials and no one else seems to have this issue.
I had this issue with the 3d physics, had no problems with 2d physics yet, but I do remember that sometimes my 3d objects looked like they were falling in slow motion
Try setting the max fall speed ins$$anonymous$$d of gravity
In addition to what others have said, sometimes a slow fall speed is due to a high drag setting: even 10 on a small object slows down the falling rate enormously, which doesn't seem right. It's made more frustrating by the fact that sometimes a high drag setting is needed to prevent objects from getting shoved too far by collisions. $$anonymous$$aybe I just have other settings wrong, I don't know; but it's been difficult to get things to behave correctly in certain circumstances.
One procedure:
Assets > Create > Sprites > Square.
$$anonymous$$ake the scale of the square 0.5 x 2 x 1.
The main character should have aprox. this size to receive a proper gravity.
Answer by scottstephan · Jan 17, 2014 at 10:48 PM
This was actually my fault- I was overwriting the rigidbody2D's velocity.y with my own without realizing it. D'oh! Works perfectly like this:
characterVelocity = new Vector2 (xMov * speed, rigidbody2D.velocity.y); // where y is gravity rigidbody2D.velocity = characterVelocity;
Thank you so much for the solution. I falled into same mistake :)
Same bug in my code causes the very weak gravity issue. Thanks scottstephan.
cmon man its a 7 year old answer, no need to be salty
Answer by thaiscorpion · Jan 17, 2014 at 09:15 PM
The reason is because Unity Physics Engine uses 1 unit as 1 meter. So if your object would normally be half a meter but in game you give it a scale of 50, then the speed of gravity will look very slow. If you need to keep a high scale on the items you can just change the gravity foce according to your scale size.
In Unity:
Edit -> Project Settings -> Physics
and set the Y value of the Gravity Vector
Answer by Eric5h5 · Jan 17, 2014 at 09:18 PM
"Slow" gravity means your objects are scaled wrong (which applies to 3D physics as well). For the default gravity, with a gravity scale of 1, to look "right" for probably most objects, they should be 1-2 units in size. A 100 pixel sprite for example would have the pixels-to-units setting as 100, so it ends up with a scale of 1.
It doesn't seem to be a problem of scale for me -
I just added the default Unity cube to my scene and added a non-kinematic rigidbody to it.
Then I pushed it off a cliff using a kinematic rigidbody 'pusher'.
The cube continues out over the abyss in front of the pusher like Wile E Coyote, until it finally begins to fall when the pusher stops.
Gravity is set to -10.
Answer by idiot333 · Feb 24, 2015 at 08:10 PM
I also had the same problem but this was my fault too. my object was falling but also it was moving upward. hence the slow gravity.
Your answer
Follow this Question
Related Questions
"Is Kinematic" required? 1 Answer
Overlapping two dynamic rigidbodies (2D) 0 Answers
HOW TO ADD GRAVITY TO A OBJECT? 2 Answers
How to keep upward momentum after reversing gravity 0 Answers
Changing gravity depending on character/camera rotation 0 Answers