I am working on a 3D game. For simplicity sake, the player is currently represented as a sphere. I have implemented an intersection test between a sphere and triangle, which returns a packet containing the collision depth and normal.
Simply moving the sphere along the normal with a magnitude of the depth works fine, but there are several problems. Sometimes the player just clips throught corners and walls, and you cannot go up slopes, since gravity is pushing you down.
I've also tried combining the collision normal and depth of all the current interesctions, although this doesn't make any difference.
There is no problem with the intersection code, I just want to know how to handle the collision in a fool-proof way.