When doing collision detection and response -- is it *necessary* to first find the *closest* colliding triangle before pushing back and recursing, or can you just push back on the first collision triangle you find?
Collision Detection & Response
Members - Reputation: 730
Posted 12 November 2013 - 06:45 AM
So I'm trying to figure out the proper way to handle collision response and iteration in a case like this . . . I keep ending up getting pushed through the floor by the diagonal wall:
can you maybe review this collision detection/response logical pseudocode and possibly point out any fundamental flaws?
checkTriangles(start, end): collision_distance = infinity collision_occured = false for triangle in triangles: if check_collision( triangle ): if triangle_distance < collision_distance || collision_occured == false: collision_distance = triangle_distance collision_triangle = triangle collision_occured = true if collision_occured: end += collision_triangle->normal * pushback_factor checkTriangles(start,end)