I will talk about each sub-topic separately.
-
The types of responses to collision: This part is super clear. If two objects collide, one of these three things will happen – block, overlap or ignore. I will draw to table to illustrate
penerate? generate event? Block no yes Overlap yes yes Igonre yes no
-
Trace channels and object channels: There are two kinds of collisions. One is that a trace collides with an object and the other is that a object collides with another object. Trace is something which does not have a physical shape, like visibility and camera. Whereas, an object is a physical object in the scene. A trace channel or an object channel is like a class, which contains some instances which are of the same type. For instance, both shrub and brick wall are of the object channel WorldStatic.
-
Determining the response when two objects collides: the basic idea is to take the least blocking interation. For example, if two objects A and B collides, where A wants to block B and B wants to overlap C, the final response will be overlap. The priority of three response types are: Block, Overlap and Ignore, with the ascending order.
-
Simple and complex collision: This topic is very easy to understand. When computing collision, we can either use the actual mesh of the object or a bounding box of that object. The pros and cons are obvious, where a complex mesh provides higher accuracy while a bounding box saves lots of computational power.