关于unity中碰撞盒Collider2D中的Layer Overrides属性

博客围绕Unity游戏引擎的层碰撞矩阵展开,介绍了其配置位置。详细说明了Include Layers、Exclude Layers、Callback Layers和Layer Override Priority的作用,如Include Layers可添加可碰撞额外层,Layer Override Priority能根据优先级确定碰撞处理设置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

层碰撞矩阵

edit -》 project settings -》physics 2d

配置好一个GameObject之后,设置它的Layer

Include Layers

仅给当前Collider添加可碰撞的额外层。所以当前Collider发生碰撞or触发的层为:层碰撞矩阵 + include layers

Exclude Layers

仅给当前Collider移除可碰撞的额外层。当前碰撞层级:层碰撞矩阵 - exclude Layers

Callback Layers:

默认Everything。与任何层发生碰撞都会触发碰撞和触发回调函数。与该设置中的未选项发生碰撞之后将不会触发回调函数。

--------》如果B的Collider取消与A碰撞时的回调。当AB两者互相碰撞,仅触发AB碰撞时A中脚本中的回调,不会去触发AB碰撞时B的回调。

Layer Override Priority:

当A和B同时发生碰撞时,Unity会比较它们的Layer Override Priority,然后根据优先级高低来确定应该使用哪个设置来处理碰撞。

--------》AB层碰撞矩阵中取消勾选碰撞。现在A层去勾选Include Layers中的B。B层去勾选Exclude Layers中的A。AB因为碰撞矩阵本来不会碰撞的,但是A单独设置了可去碰撞B,然后去检测B,恰巧B排除了A,因此也不会去触发回调。但是如果A的Layer Override Priority >B的Layer Override Priority。那么就会优先考虑A的Layer Overrides设置,去触发碰撞。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值