StrafeTick Always Advances Body #13

Open
opened 2025-05-22 22:33:15 +00:00 by Quaternions · 1 comment
Owner

StrafeTick is always advancing body in atomic_internal_instruction regardless if strafing activates. I believe this is hiding a failure case of collision prediction where infinity_fev setup fails due to the infinity_dir intersecting the test mesh hull. The infinity_fev setup expects the infinity_dir line to have no intersections with the test mesh, otherwise it assumes that the setup has failed. This is a uniquely parabolic problem, since the starting point can be coming out of the mesh while the hit point is going into the mesh. Possibly related to Bug 3 and randomly falling through logs on bhop_arcane_v2, and also why it is so easy to clip through walls.

StrafeTick is always advancing body in `atomic_internal_instruction` regardless if strafing activates. I believe this is hiding a failure case of collision prediction where infinity_fev setup fails due to the infinity_dir intersecting the test mesh hull. The infinity_fev setup expects the infinity_dir line to have no intersections with the test mesh, otherwise it assumes that the setup has failed. This is a uniquely parabolic problem, since the starting point can be coming out of the mesh while the hit point is going into the mesh. Possibly related to #9 Bug 3 and randomly falling through logs on bhop_arcane_v2, and also why it is so easy to clip through walls.
Author
Owner

I've created a branch physics-bug3 which fixes this issue, but causes all the other problems that were hidden to come out. If the time-negative direction of the tangent line of the beginning of your trajectory, and the extrapolation of the end of your trajectory both intersect the same object, the algorithm will fail. Strafing / strafe ticks hide this issue because the trajectory is chopped into very small pieces, and the time-negative tangent line direction points away from the surface.

I've created a branch [physics-bug3](https://git.itzana.me/StrafesNET/strafe-project/src/branch/physics-bug3) which fixes this issue, but causes all the other problems that were hidden to come out. If the time-negative direction of the tangent line of the beginning of your trajectory, and the extrapolation of the end of your trajectory both intersect the same object, the algorithm will fail. Strafing / strafe ticks hide this issue because the trajectory is chopped into very small pieces, and the time-negative tangent line direction points away from the surface.
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: StrafesNET/strafe-project#13
No description provided.