Answer
For 3D, Unity uses PhysX. According to this answer, PhysX uses a symplectic integrator. The paper it cites as evidence is a bit more ambiguous though:
Since it is a commercial engine the implementation details are unknown ... Most physics engines provide results similar to the Symplectic Euler integrator, or 2nd order Euler. Novodex (Ageia PhysX) provided the best results.
The integration error graph shows it behaving slightly better than the "Euler 2nd order" reference implementation, and significantly better than the "symplectic Euler" reference integrator. So it looks to me like it's not a 100% off-the-shelf integrator, and has some custom adjustments that may be hard to duplicate without the source code.
For 2D, Unity uses Box2D, which uses Symplectic Euler, according to these forum posts.
No comments:
Post a Comment