家人们,救救孩子把

分组掩码这种完全看不明白 我都是在cocos creator里面 配置 分组 掩马的


分组值和掩马值 又是怎么计算出来的

文档下面不是写了吗?

分组值就是左移操作,1<<index;掩码值也是左移操作,但是要竖着看

,勾了几个就是几个值的和

实在不行多列几个输出一下就知道了,不过当年踩这坑也挺让人难受的

左移运算 <<

1 << 0 , 1的二进制是0001 ,左移 0位就是 0001

1<< 1, 1 (0001 )左移1位 0010

1<< 2, 1(0001)左移2位 0100

假设有一个物理分组 PhyGroup

enum PhyGroup {
    CubeA = 1 << 0,
 // 0001 CubeA 在第0组    CubeB = 1 << 1,// 0010
  CubB 在第1组}//从右往左,👈,1在第几位就是在第几组

现在CubeA在第0组,它要检测CubeB,那么CubeA的掩码要设置成 PhyGroup.CubeB

CubeB在第一组,它要检测CubeA,那么CubeB的掩码就要设置成PhyGroup.CubeA

有个A物体要检测那个(B, C,D,E,F)对象, 就设置A的掩码为( PhyGroup.B+ PhyGroup.C+PhyGroup.D+PhyGroup.E+PhyGroup.F)
https://zhuanlan.zhihu.com/p/267811993

这种掩码的思想在开发生产中简直不要太好用,赶紧学会 :sweat_smile:

你看下u3d再回来看这个就懂了 或者你用代码动态设置 就明白了 这个和2d游戏思维还有有一丢丢区别