I'm interested in where in the tool chain bounding boxes are created. Are they made by the artists? In the modeling tool? How are they exported? Can Maya/3DS Max/Blender/... mark geometry as bounding box? How does that work in Collada/FBX?)

Or is there a tool which calculates them? Are they calculated at run time?

I basically know how bounding volumes work, but I'm a little bit confused on where to get them from.

  • \$\begingroup\$ Welcome to the site! I removed the part of the question querying how specific example games construct bounding volumes because it's not really answerable and doesn't directly pertain to your specific problem. \$\endgroup\$
    – user1430
    May 26, 2012 at 21:00
  • \$\begingroup\$ @JoshPetrie My intention was just to address if different kinds of games (FPS, RPG, RTS) have different requirements at this point. :) \$\endgroup\$
    – cooky451
    May 27, 2012 at 7:00

2 Answers 2


Bounding volumes are usually computed procedurally. For example, an axis-aligned bounding box can be computed by iterating the vertex set of a mesh and saving the minimum and maximum X, Y and Z coordinates, although there are other volumes such as spheres, oriented boxes, and capsules which can involve more complex algorithms. Because such computations are typically expensive they tend to be done offline, either as part of an export step from the modeling package or as part of a data packing or compilation step during the build of a game.

In some cases, loose bounding volumes (those that do not conform as tightly as possible to the object) are desirable. Typically this is when the volume will not be used for rendering/optimization purposes but instead for design or gameplay mechanics purposes. In such cases the volumes could be created by hand. This would probably be done in a content creation tool, or by marking a phantom primitive in the modeling tool as a bounding volume (note that modeling tools need not have a built-in "mark as bounding volume" operation, as most can tag objects with user-defined values that custom exporter pipelines can process).

There are no industry standards for how and when bounding volumes are computed (or authored, if applicable). Most asset pipelines are proprietary, designed to serve the specific needs of a studio and/or project, and this operation falls under the realm of an asset pipeline task.

  • \$\begingroup\$ +1. Not sure if simplified collision meshes have 'artist intervention' - but you might want to touch on that. \$\endgroup\$ May 27, 2012 at 6:39
  • \$\begingroup\$ Thanks for the answer. So that means for e.g. a building it is most likely not exported as one big mesh, but as a file with many small objects in it? Because otherwise getting bounding volumes for staircases etc. is kind of impossible? - A followup question would be: How can a program decide which kind of bounding volume is appropriate? One doesn't want spheres for staircases obviously. Also, are non-loose bounding volumes of any use? I imagine they're quite expensive for collision detection. \$\endgroup\$
    – cooky451
    May 27, 2012 at 7:14
  • \$\begingroup\$ A building may well be exported as a single mesh. However in most games collision detection isn't just done against bounding volumes - it's done against meshes by the physics engine. Those physics meshes will often be separate from the mesh used for rendering. \$\endgroup\$
    – Adam
    May 28, 2012 at 0:08
  • \$\begingroup\$ @Adam Hm.. and where do those physics meshes come from? I can't really find something useful when googling for "physics meshes". \$\endgroup\$
    – cooky451
    May 28, 2012 at 10:18
  • \$\begingroup\$ They could come from any of the same places that the render volumes come from, they just might be different due to different needs and applications of the volume. The program usually doesn't decide which kind of volume is appropriate (for either case), a human does. A program would just compute the desired volume, if need be. Geometry is generally exported in chunks -- level geometry, for example, would not be exported as one giant mesh because then it's much harder to get a useful bounding volume and to cull unused portions of the mesh. \$\endgroup\$
    – user1430
    May 28, 2012 at 14:23

BBoxes are generated in runtime, engine process geometry to get min,max in x/y/z axes.

  • 2
    \$\begingroup\$ Not always, especially since doing so at runtime can be expensive. Additionally there are more kinds of volumes than just boxes. \$\endgroup\$
    – user1430
    May 26, 2012 at 20:57

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .