Collision detection can very easily become a severe drain on the computer's resources. The best way to prevent this is by limiting what objects are checked for collision with which other objects. One way to do this is by controlling which segments of the scene graph collision checks are performed on, but this can be impractical because there are so many other things that scene graph organization can be used to accomplish.
Fortunately, we have another solution to this problem. We can use BitMasks
to limit which CollisionNodes
can interact. A BitMask
is a series of 32 bits that can be either 0 or 1. Here is an example of a BitMask
:
0000 0000 0000 0000 0000 0010 0000 1000
The BitMask
works by limiting only those CollisionNodes
that have one of the same bits set to 1 to interact. That means if you set bit number 4 to 1 on two CollisionNodes
, they'll be able to collide. If that bit is set to 1 for one of them and 0 for the other, they won't be checked for collision...