3D collisions for GameMaker 2024.14 by Juju Adams
Bonk is a 3D collision library. It supports boolean "inside" tests between shapes as well as "push out" tests that return a vector that separates the two shapes. Bonk also has functions for raycasting. The library contains basic collision mechanics suitable for most types of 3D games - shooters, platforms, RPGs etc. Bonk contains a very basic grid collision system that optimizes the number of shape-shape collision checks that need to be performed. This is helpful for situations where you have multiple shapes colliding (which is most situations!).
Please note that cylinders and capsule are z-aligned and cannot be rotated. Additionally, rotated boxes can only be rotated around the z-axis.
| Axis-Aligned Box | Capsule | Cylinder | Quad | Rotated Box | Sphere | Triangle | Line/Ray | Point | |
| Axis-Aligned Box | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |||
| Capsule | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Cylinder | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||
| Quad | ✓ | ✓ | ✓ | ||||||
| Rotated Box | ✓ | ✓ | ✓ | ✓ | |||||
| Sphere | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Triangle | ✓ | ✓ | ✓ | ||||||
| Line/Ray | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||
| Point | ✓ | ✓ | ✓ | ✓ |
You may also be interested in Dragonite's 3D Collisions. Dragonite also has many videos on 3D topics in GameMaker.