A data structure and an algorithm is proposed for detecting interference among complex models undergoing rigid motion. Initially, a hierarchical tree of oriented bounding boxes (OBB) is pre-constructed for each model. At runtime, two such tree structures are traversed to detect overlap between their bounding boxes using a test based on a separating axis theorem. This test is claimed to require fewer than 200 operations per box pair. The algorithm and data structure do not make any assumptions as far as the complexity of the models is concerned, and very accurate and robust collision detection is possible at interactive rates.