I use Unity for research and not for gamedev. For me accuracy is way more important than performance. Currently I have two mayor questions:
What time integration algorythm is used in Unity?
How is the ernergy dissipation calculated?
To 1: I did some simple simulations to find out which time intrgration algorythm is used. It seems to be either symplectic or explicit euler. The only resource I found was this paper published in 2007.
To 2: In the documentation it says that the coloumb friction model is used. I assume that the resitution coefficient is given in Unity as ‘bounciness’. Do other parameter influence the energy dissipation?
PhysX is designed and configured for performance, not for accuracy. As result, we have weird physics effect such as the friction behavior like described at the Unity documentation for the physic material:
In practice, this means “trial & error until you find some physic material parameters that give apparently acceptable results in each specific case”.
Unfortunately, Unity doesn’t expose any PhysX settings that would allow us to configure the physics for accuracy.