Conservative Advancement needs some room in order to advance. In close touching contact situations the steps become too close.
One way to provide this room is to allow a given amount of penetration. This also helps in touching contact situations, where the time of impact would otherwise be zero. If you develop the algorithm, it would be best to expose this 'allowed penetration' in the API. Another ad-hoc solution is to disable time of impact, and purely rely on penetration depth/discrete collision detection on close proximity/contact, but my experience is that using a fixed 'allowed penetration' margin works better.
There are methods to create tighter bounds that improve Conservative Advancement in certain situations, but in (close) contact situations you still require some margin/tolerance.
Sorry I couldn't follow up earlier. Wanted to have something concrete before posting.
I have been working on CA for ellipsoid (amidst all other things that I need to worry about) for quite some time now. Unfortunately haven't seen stable results yet with my physics simulator, this is mainly due to my inaccurate collision detector.
CA against an infinite plane is manageable, but extending it to triangles throws in lots of other challenges.
Also, if the ellipsoid is moving away from the plane it could still collide with the plane because of its rotation. This is a tricky case and has to be handled separately.
Erwin, I thought hard about allowing a penetration margin but I couldn't come up with any approach that would give me the required collision data - time, normal & point of contact.
Can you please explain a little how penetration could be used in the ellipsoidal case?
Another approach that I've thought of is doing multiple sweeps from the starting position, only the Rotation is advanced by some time t and a sweep test is performed. If the sweep test returns a time of collision of ts, then t & ts are compared. If they are close to each other, t was a good estimate. t could be formulated using a binary search over dt.
The case for ellipsoid moving away from triangle will have to be addressed in a slightly different manner.
Do you think such an approach would work, what difficulties could crop up?