Jump to content
  • Advertisement
Sign in to follow this  

[Solved] Friction when object is on the ground

This topic is 3245 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

So, I've been moving pretty quickly through my physics problems. I have a new one though involving friction. EDIT: the link used to redirect is down for the moment so I'll post the problem here. Here is the problem.. Using this drag: k1=.09; k2=.01; drag=(k1*accAccumX)+ (k2*(accAccumX*Math.abs(accAccumX))); accAccumX-=drag; grandVelX=accAccumX; my objects will reach a maximum velocity and slow down accordingly. However, they don’t slow down appropriately when on the ground. What I need to devise is a friction when the player is on the ground. This way he doesn’t float along until drag is enough to stop him, but rather stops the player quickly when the controls are released. Like in real life, friction will stop you quickly instead of letting you drag on. Then I can change the value when the player is on ice, or sand, or just grass and have the appropriate effect. I’ve been looking into it and I can’t find exactly what I am looking for. Possible solutions: 1. increase the drag (or create a new one) when the player is on the ground, although this isn’t necessarily the best way. 2. Create a new variable ‘friction’ and do something like this: if (player is on ground) velocity = velocity * friction; This doesn’t seem right either. Any thoughts? [Edited by - NotTheCommonDose on July 2, 2009 4:19:32 AM]

Share this post


Link to post
Share on other sites
Advertisement
Friction is a force. In general:
Fμ = μFN

Where FN is the "normal force." A good way to look at this: say you have an object experiencing some force F1. However, the object is against some surface which prevents its movement in that direction. What you must do to prevent the object from slipping through is add another force F2 in the direction of the surface's normal. This is the normal force.

If you have an object on flat ground, experiencing the force of gravity straight downward, then the normal force will be of an equal magnitude, but straight up; therefore preventing the object from slipping through the floor.

The constant μ is the coefficient of friction. There are many real world values cataloged endlessly - but just use whatever works for you.

Note also that the actual force of friction will be applied in the direction opposite of motion.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

Participate in the game development conversation and more when you create an account on GameDev.net!

Sign me up!