My understanding of collision filtering

I will talk about each sub-topic separately.

  1. 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
    
  2. 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.

  3. 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.

  4. 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.

Privacy & Terms