I've been implementing a 3d physics engine using impulse resolution, following this series of tutorials, porting them to 3d:
Now I'm at a state where I've got the basic collision pair generation and resolution (using friction, mass, restitution), as well as gravity and velocity/position integration, no angular velocity yet. Now I'm experiencing some issues under the following scenario:
I've got a sphere with radius 1 and mass 1 eigther falling straigth on to or lying directly on an AABB with infinte mass. Restitution of both these bodies is 0.75, gravity is 10.0, static and dynamic friction is both 0.1 (but it doesn't have any effect here anyway). Now the issue happens when the sphere has los most of its momentum due to gravity, and should lay quitely on the AABB. Instead, it yitters around quite noticable, obviously due to the gravity pulling it down into the box, which pushes the box out further away then it originally was, causing it to fall down again in the next frame, etc... hope you get the idea. Now, this gets effect gets less noticable the more I turn down the restituation, and completely dissappears once it reaches 0.0f, obivously since the sphere will now loose all its momentum instantly as it hits the AABB. But every other value will cause such a noticable yittering.
Without showing any of my code (I checked a hundred times to ensure that there are no typos and its pretty much equivalent to the one from the tutorial algorithm-wise), is there any solution for this problem? I've already read about the problem of sinking bodies due to gravity and that you should use position correction, but doing so didn't help, and it appears to be a utterly different problem anyways. Any ideas? Or let me know if you'd have to see some code in order to help. Thanks!