Physics2D.OverlapPoint和Physics.Raycast有什么区别?

时间:2015-08-20 18:51:54

标签: unity3d

我一直在寻找检测点击的GameObject的选项。对于2D游戏,Physics2D.OverlapPoint和Physics.Raycast之间有什么区别?一个优于另一个有什么优势,性能可能吗?我得到两个相同的返回值,两者似乎都有重叠精灵的相同问题。我一直倾向于使用Physics.Raycast,因为我可能希望将来转向3D自上而下的视角,还有其他任何考虑因素吗?

3 个答案:

答案 0 :(得分:1)

OverlapPoint检查对撞机是否与空间中的给定点重叠,而Raycast沿特定向量射出光线并返回其击中的任何内容。

非常不同的概念,不能互换使用......即使在2D中也是如此。您可以在2D场景之外开始Raycast并向观察者(由方向矢量定义)或在场景前面向后射击并远离观察者。将返回不同的结果,因为它们将根据z顺序击中不同的对撞机。

答案 1 :(得分:1)

一张图片值1000字:

这是光线投射:

enter image description here

这是OverlapPoint,它检查对撞机是否与空间中的点重叠。

enter image description here

答案 2 :(得分:0)

OverlapPoint基本上是Raycast,除非没有深度。如果您计划将来使用3D,那么您使用Raycast是正确的。返回值也不同,Raycast返回boolOverlapPoint返回Collider2D