Collision handling and first compromises

Collision handling turned out to be harder than expected… To get it working quickly, I relied on a bounding sphere for every models. The spheres are centered on the isobarycenter of the model and have for radius the distance of this point to the farthest vertex of the model. This is far from the perfect fit possible for a given model, but was faster to code. The way it works is that game objects register themselves during their update pass to the collision handler. Afterwards, the collision handler solves collision of the registered assets.

Time spent for this Time spent so far
8 h 41 h

Adding collision handling was nice, but the bounding sphere fit is very poor for most models, I will need to improve that later. Also, our objects only have current data for position, nothing about current speed or acceleration. This makes the collision resolution quite janky as seen in the illustration below:

Diagram showing the problem when only position information is available to calculate collision handling. Objects will have a tendency to 'jump' when touching each others

Correcting position after collision using only position info

Not a very good way to do it... but quickest to implement!


Suggestions de lecture :