   Sphere Plane collision
  Does anyone know of a good place to learn how to do Sphere plane collision ... I looked on google but did not find anything great. thanks 
  http://www.gamedev.net/reference/articles/article1026.asp ;  Theres no substitute for a good book :-)http://www.gamedev.net/columns/books/bookdetails.asp?productid=160Covers pretty much everything you''d need to implement all your own collision detection. ;  Off the top of my head:Get your plane in the form Ax + By + Cz +D=0( where (A,B,C) is the plane normal and D found by putting a point in).To get the closest distance of a point from this plane:d = (Ax+By+Cz+D)/(A*A + B*B + C*C)where x,y,z are the coordinates of the point you test. If it''s positive it''s on the side of the plane the normal points.Then just test this value against the radius of the sphere to see if they intersect for example.Is that ok? ;  Like the above poster said, just use the plane equation Ax + By + Cz + D, and plug the center of the sphere in for (x, y, z).If the number you get is <= sphereRadius, then there''s a collision. ;  That works perfectly ... but now, Another question ... When I walk into a wall and collision = true, I get the distance the vector protrudes through the wall, set the plane normal vector to the same distance and then add them together to get the character to slide across the wall like in doom/quake/every 3d game ... But is there a more logical way of doing this ... i.e. what if I move diagnally into the wall, the normal vector corrects me and places me in the new location slightly farther down the wall, which now makes me collide with the other plane/wall in the corner of the room ... then I would need to recalculate another set of collision functions true? Are their other ways of doing this and if not, what would be a logical set of steps to do this?   [edited by - Capt_OzzMan on February 13, 2004 8:46:26 PM];  use the displacement or velocity of the sphere to calculate the time of collision with walls, and prioritise collisions by time (only keep the earliest). solve earliest collision, slide velocity, find a new collision, ect, ... until no more collisions are found. ;  so there could be multiple collision detection routines run in between one frame? that would definately slow things down frames per second wise anyway. 