Physics base equation/strange friction behavior

Hello, I’m an Italian Phd student from University of Trieste. I’m using unity for research purpose and I need therefore some technical information about the physics engine used in Unity i.e. Physics.
The manual of physics does not contain all the physical models implemented nor the approximation methods used, is there a way to find some more documentation?I need this kind of info also to justify some strange behavior in experiments I performed:

  • When “cone-friction” option is set the object stops a lot before it should according to physical laws ( for instance in an experiment where an a cube is placed on a floor with friction and the cube starts with a given speed , the cube stops a time that is half the time it should be). Everything seems work fine when “cone-friction” is unchecked.
  • When “cone-friction” is unchecked the objects stops correctely but if static friction is not really high (ten times dynamic) the object starts going back as if a force is applied in the opposite direction.
    I can deal with does problems if they are due to numerical issue, anyway I’d rather know the precise cause.
    Thanks a lot for the help.

Hi Gabriele,
Which version of Unity are you using? Unless you are using the absolute latest pre-release of Unity 5, you should be dealing with PhysX-2.8.x.

Please be aware that PhysX was never intended to provide research-grade physics accuracy. PhysX rigid body dynamics implementation makes many approximations in order to provide generally plausible behavior in real time on a wide variety of computing platforms, subject to limitations of dynamic range, mass ratios, shape complexity, among others. All PhysX solvers are iterative, meaning that constraints and contacts are solved one at a time in some order, not all at once as would happen with a direct solver, and the accuracy depends on the number of iterations taken, the size of the timestep, etc. I recall that in PhysX-2.8.x, cone friction in particular exhibited more than a few artifacts.

Could you tell us more about the use case here? I hate to discourage anyone from using PhysX, but then again I’d rather see you use the right tool for the job at hand. I would never encourage someone to use PhysX where accuracy is critical, for example in engineering work when designing machinery, jet planes, etc.