how am I suppose to apply friction to an object so that when I apply force it decelerates eventually to zero? Here are my physics objects:

Rigid Body "Sphere"

  • Collision shape: btSphereShape(0.50)
  • Mass: 1.0 kg
  • Restitution: 0.5
  • Friction: 10.0

Rigid Body "Platform"

  • Collision shape: btBoxShape( btVector3(23.0, 0.5, 23.0) )
  • Mass: 0.0 kg
  • Restitution: 0.75
  • Friction: 1.0

I apply central force of btVector3(0,0,-100) on key press 'W' to the sphere. The sphere moves but never stops. Is there anything else I should take into consideration? The sphere is not rolling (the force is to the center) and the damping cannot be used because it slows the object down on any force, even gravity.

What I have tried:

  • Added mass to the platform. I set linear and angular factors to (0,0,0) so the platform didn't move by any applied force.

  • Applied the negative of the total applied force. I get a working result but not how I wanted. If I had friction the object would slow down more realistically

  • 1
    \$\begingroup\$ Angular dampening is the way to go in this case. It shouldn't affect gravity or other forces, but without it, your sphere won't be affected by friction. \$\endgroup\$ – user39686 Dec 21 '13 at 16:02
  • \$\begingroup\$ isn't angular dampening for rotation, like rolling of a sphere? I am still going to give it a try and see what happens. Thanks! \$\endgroup\$ – Gasim Dec 22 '13 at 11:55

I created a little testbed to test this. With standard mass and friction, a ball rolling will not stop. Applying either linear -or- angular dampening will cause the ball to eventually stop. If you don't want things like gravity to be affecting it, then angular dampening used by itself should work just fine.

Likewise, replacing the sphere with a box in my simulation caused friction to work normally without any dampening.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.