Collider2D 的点击响应关系顺序

随着四季项目越做越大,里面的碰撞器也越来越复杂,有时候莫名的出现一些明明显示在最上层的物品,但是却点击不了现象。

为了处理以上问题,我必须得摸清Collider2D会受到什么样的影响

  • SpriteRenderer 的 Order in Layer
  • SpriteRenderer 的 Sorting Layer
  • SortingGroup
  • 不同的父对象
  • Y轴 (我们游戏使用了Transparency Sort Axis 的Y进行视觉排序)
  • Z轴
  • 层级关系

测试结果如下:

项目影响
Order in Layer值大响应
Sorting Layer层深响应
SortingGroup
父对象
Y
Z越靠近摄像机越快响应
层级关系
所有测试均在其它值相等或者影响的情况下进行

最后比较重要的一步,当场景中没有SpriteRenderer时也需要测试,结论如下:

在以上所有有影响的值都相同的情况下,判断到底响应哪一个,测试如下:

优先级 Sorting Layer > Odder In Layer > 坐标Z > 最后坐标变动者

以上,所以想要正确的响应碰撞事件,请务必使用SpriteRenderer进行管理(空的SpriteRenderer也行)。

最后,提前祝即将年满18岁的我节日快乐。

发表评论

您的电子邮箱地址不会被公开。