Fix Zero-Time CollisionStart #35

Open
opened 2026-01-30 17:45:29 +00:00 by Quaternions · 1 comment
Owner

Discussed in #9 (comment) (Bug 1)

Fixing zero-time collisions fixes #15 in a better way

MD Algorithm possibly not returning correct results for exactly adjacent queries.

Face crawler possibly not allowing zero-time events.

If you are exactly adjacent to a surface, but it's not in the contacts list, when you accelerate towards it, it will sometimes not detect the new collision. This needs to be a supported case, partly for surf.

The exact_miss_* tests probably need to pass, and some new tests will need to be written.

Discussed in https://git.itzana.me/StrafesNET/strafe-project/issues/9#issuecomment-1959 (Bug 1) Fixing zero-time collisions fixes #15 in a better way MD Algorithm possibly not returning correct results for exactly adjacent queries. Face crawler possibly not allowing zero-time events. If you are exactly adjacent to a surface, but it's not in the contacts list, when you accelerate towards it, it will sometimes not detect the new collision. This needs to be a supported case, partly for surf. The `exact_miss_*` tests probably need to pass, and some new tests will need to be written.
Quaternions added the physics-bug label 2026-01-30 18:05:05 +00:00
Author
Owner

From my testing on debug-35 branch, it looks like the algorithm cannot be modified to allow correct results for exact collisions. As soon as the surfaces contact, it returns an incorrect result, even when the inclusivity is changed (i.e. x<=0 becomes x<0).

I could port the escape algorithm from Lua...

From my testing on `debug-35` branch, it looks like the algorithm cannot be modified to allow correct results for exact collisions. As soon as the surfaces contact, it returns an incorrect result, even when the inclusivity is changed (i.e. x<=0 becomes x<0). I could port the escape algorithm from Lua...
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: StrafesNET/strafe-project#35