Game Development Reference
F IGURE 13.1
An object approximated by an assembly of primitives.
in each object (in this way the assembly acts something like the hierarchy of bounding
We can represent assemblies as a list of primitives, with a transform matrix that
offsets the primitive from the origin of the object.
G ENERATING C OLLISION G EOMETRY
Generating the collision geometry to approximate an object isn't trivial. The easiest
method is to ask designers to create the collision geometry manually. This doesn't
require any special algorithms, but increases the already large burden on modelers
and level designers. Given that most of the cost of developing a game goes into design,
this may not be the most economical solution. It is no coincidence that in many games
with great physics, objects under physics control tend to be simple, primitive shapes
(crates and barrels, for example).
Some developers I know have created tools for generating simplified convex
meshes to act as collision geometry. The algorithms they use involve some complex
geometry and mathematics beyond this topic. I am not aware of tools that place as-
semblies of collision primitives.
C ONTACT G ENERATION
As we have already seen in this chapter, it is important to make a distinction between
collision detection and contact generation. Most books on collision detection will not