Preface
I started writing these collision tutorials as I have recently learnt some of these techniques, and found many tutorials completely useless at explaining the core concepts to a novice. In this I aim to show you how I got my head around the concepts of collision detection, and response. Instead of providing you with code to blindly copy and paste, I hope this will give you enough information to go on to create your own code, and know how it works.
Stuff you should already know:
Parallel
| Perpendicular | Normal |
![]() | ![]() | ![]() |
- Most 3D maths problems can be flattened into 2 Dimensional problems, If your stuck, solve it in 2D then move into the 3rd dimension.
- Use a pen and paper to draw problems out.
- Unit or normalised vector (Wikipedia makes it sound way more complicated than it is, just know the X and Y values fall only in the range of -1 to 1.
Think of this as a percentage of direction, (1,0) will be 100% right 0% up, (-1,-1) will be moving bottom left at 100%.