层碰撞矩阵
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,然后根据优先级高低来确定应该使用哪个设置来处理碰撞。文章来源:https://www.toymoban.com/news/detail-859980.html
--------》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设置,去触发碰撞。文章来源地址https://www.toymoban.com/news/detail-859980.html
到了这里,关于关于unity中碰撞盒Collider2D中的Layer Overrides属性的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!