基于 short int 的掩码如何在 c++ 中工作(例如Bullet中的掩码)?
我看子弹
CollisionFilterGroups {
DefaultFilter = 1,
StaticFilter = 2,
KinematicFilter = 4,
DebrisFilter = 8,
SensorTrigger = 16,
CharacterFilter = 32,
AllFilter = -1
}
并看到所有值都是 2 的度数,我知道:
short 是有符号整数,需要 2 个字节来存储,从 -32,768 到 +32,767。
但是如何创建我自己的组:如何计算掩码交叉点?
例如,除了 CollisionFilterGroups 之外,如何创建类似:
MyCollisionFilterGroups {
Cubes= ?,
Boxes= ?,
Spheres= ?
}
在哪里
- 我们希望“planes”不与“planes”、“boxes”和“spheres”发生碰撞(“see”)
- 我们希望“盒子”与其他“盒子”和“球体”发生碰撞
- 我们希望“球体”不与“球体”碰撞,但与“盒子”碰撞