| Home Page | Recent Changes | Preferences

Collision Detection

Collision detection is the process by which the Unreal Engine determines whether actors are touching or not, and whether one actor can pass through another.

General Introduction


One of the most important requirements for 3D game realism and excitement is fast and accurate collision detection, and the need to do so with the maximum efficiency. In a simple simulation, a collision detection check has to be carried out for every time step,...an operation whose computational cost increases almost exponentially with scene complexity.

There has been a great deal of research interest in collision detection and distance computation for 3D interactive graphics and no universally popular algorithm has emerged. A 3D game engine computes interactions between the geometries of the objects in the environment, and, their moving parts and physical properties to simulate physical behaviors. Moving entities and players need to behave like real ones in the physical world, in order to enhance the degree of game realism. However, real time dynamic simulation has been unattainable till recently, due to the absence of efficient, practical collision detection algorithms and fast, accurate dynamics computations.

BSP Tree Based Collision Detection


One of the most critical problems when creating a BSP-tree based 3D-engine is collision detection. It is not difficult to solve the collision problem, but, it is difficult to perform with great speed. In the vast majority of FPS games most of the processor time is consumed by performing the necessary collision detection algorithms. Consider an object or player that is moving through the 3D world. It has to be checked against the static Constructive Solid Geometry and against all other objects in the world to see that it does not pass through or interact unrealistically with them. For one player or object this can be done with a slow algorithm at an acceptable frame rate. The problem becomes much more complex when several objects and players interact during the time interval for each real time rendering of the frame. The rendering of the Potential Visible Set (PVS) of the scene has to be done only once for each frame, while collision detection might need to be done an order of magnitude (ten or a hundred times) more often for each frame, depending on the number of objects currently moving in the world. So the collision detection algorithm is required to operate at great speed and accuracy.

That's extremely interesting stuff. Where is it from? —Mychaeel

I sort of re-wrote it from an introductory section on BSP Trees that I found at flipcode. Interesting review paper (it was a Thesis Paper) The address is: [Binary Space Partioning Trees and Polygon Removal in Real Time 3D Rendering]. NFG

The Unreal Engine Documentation Site

Wiki Community

Topic Categories

Image Uploads

Random Page

Recent Changes

Offline Wiki

Unreal Engine

Console Commands

Terminology

Mapping Topics

Mapping Lessons

UnrealEd Interface

Questions&Answers

Scripting Topics

Scripting Lessons

Making Mods

Class Tree

Questions&Answers

Modeling Topics

Questions&Answers

Log In