Unusual friction coefficient behaviour in PhysX 3.4

The friction coefficients in PhysX seem to be quite odd.

For an object on an inclined surface of 30 degrees, the static friction coefficient at the point that the load starts to slide is tan(30 degrees) = 0.58. Therefore, if I set the friction coefficient to 0.3, for example, I expect the object to slide down the ramp.

I set this scene up in ODE, Bullet and PhysX to compare the behaviour.

First in ODE:

Second in Bullet:

Third in PhysX:

As you can see, the object does not slide down the ramp in PhysX, despite the static and dynamic friction coefficients being set to 0.3. Note that I have eDISABLE_STRONG_FRICTION set, although this shouldn’t really make a difference. The object and ramp use plain old box geometry and the contact normals are fine.

I was able to reproduce this in my small physics test-bed.
Here is the PhysX Visual Debugger file: [url]Dropbox - Friction.pxd2 - Simplify your life

Have you tried using PxFrictionType::eTWO_DIRECTIONAL? This is a per-contact friction model and should be much closer to the expected frictional behaviour.

The default PxFrictionType::ePATCH is less expensive than 2d friction because it works on fewer friction anchors than there are contacts, but the frictional force it produces can be stronger due to the way it applies friction forces proportional to the sum of all normal forces in the patch.

You should also be able to use the default ePATCH friction model and get behaviour similar to expected results if you half the friction coefficient.

Switching to eTWO_DIRECTIONAL gave the behaviour that I was expecting. Thanks.