Godot Engine:PhysicsBody中的Layer和Mask

先浏览一下LayerMask的设置,再解释其作用
  1. PhysicsBody的属性栏中可以看到它们的身影,LayerMask各有20个小“方块”,默认LayerMask的第一个“方块”是被选中的
    在这里插入图片描述
  2. 点击右边的按钮
    在这里插入图片描述
    弹出一个层列表,每层前面有一个单选框,后面是层的名字
    在这里插入图片描述
    层的名字可以在项目设置自定义
    在这里插入图片描述
    在这里插入图片描述
    修改后
    在这里插入图片描述

设置方法解释完毕,那么LayerMask到底是干嘛的呢

作用

LayerMask实际上就是PhysicsBody的分组,可以对碰撞检测进行过滤

  • Layer是当前这个PhysicsBody所属组,一个PhysicsBody可以属于0至多个(注意,不属于任何组也是可以的)
  • Mask是当前这个PhysicsBody目标组,即要进行碰撞检测的组,也可以设置0至多个

于是对于A和B两个PhysicsBody就会有如下可能

是否发生碰撞
AB的目标,B也A的目标
AB的目标,B不是A的目标
A不是B的目标,BA的目标
A不是B的目标,B也不是A的目标
发布了261 篇原创文章 · 获赞 134 · 访问量 8万+

猜你喜欢

转载自blog.csdn.net/hello_tute/article/details/103820181