我一直在寻找检测被点击的GameObject的选项。对于2D游戏,Physics2D.OverlapPoint和Physics.Raycast有什么区别?一个比另一个有什么优势吗?我得到了相同的返回值,两者似乎都有相同的问题与重叠的精灵。我一直倾向于使用Physics.Raycast,因为我可能想在未来转向3D到自上而下的透视图,还有其他考虑吗?
发布于 2015-08-20 19:05:14
OverlapPoint检查对撞机是否与空间中给定的点重叠,而Raycast沿着特定的矢量拍摄射线并返回它击中的任何东西。
不同的概念,不能互换使用.即使是2D。您可以从2D场景开始发射一个Raycast,然后向观众(由方向向量定义)或在场景前面开火,然后离开查看器。不同的结果将返回,因为他们的射线将击中不同的对撞机取决于z-顺序。
发布于 2015-08-21 01:31:37
一幅画胜过1000字:
这是光线投射:

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

发布于 2015-08-20 18:56:35
除了没有深度之外,OverlapPoint基本上是一个Raycast。如果您计划将来使用3D,那么您使用Raycast是正确的。此外,返回也是不同的,其中Raycast返回bool,OverlapPoint返回Collider2D
https://stackoverflow.com/questions/32126112
复制相似问题