先浏览一下Layer和Mask的设置,再解释其作用
- 在
PhysicsBody的属性栏中可以看到它们的身影,Layer和Mask各有20个小“方块”,默认Layer和Mask的第一个“方块”是被选中的 - 点击右边的按钮
弹出一个层列表,每层前面有一个单选框,后面是层的名字
层的名字可以在项目设置自定义
修改后
设置方法解释完毕,那么Layer和Mask到底是干嘛的呢
作用
Layer和Mask实际上就是PhysicsBody的分组,可以对碰撞检测进行过滤
-
Layer是当前这个PhysicsBody的所属组,一个PhysicsBody可以属于0至多个(注意,不属于任何组也是可以的) -
Mask是当前这个PhysicsBody的目标组,即要进行碰撞检测的组,也可以设置0至多个
于是对于A和B两个PhysicsBody就会有如下可能
| 是否发生碰撞 | |
|---|---|
| A是B的目标,B也是A的目标 | 是 |
| A是B的目标,B不是A的目标 | 是 |
| A不是B的目标,B是A的目标 | 是 |
| A不是B的目标,B也不是A的目标 | 否 |