start | 世界空间中线的起点。 |
end | 世界空间中线的终点。 |
layerMask | 仅检测特定层上的碰撞器的过滤器。 |
minDepth | 仅包含 Z 坐标(深度)大于或等于此值的物体。 |
maxDepth | 仅包含 Z 坐标(深度)小于或等于此值的物体。 |
RaycastHit2D[] 返回的碰撞结果。
在场景中对碰撞器进行射线检测。
线检测 是世界空间中两点之间的一条假想线。可以检测到并报告与光束接触的任何物体。
此函数类似于 Linecast 函数,但会报告与线接触的所有碰撞器。假定该线从起点运行到终点;碰撞器将按与线起点距离的顺序放置在返回的数组中。
线检测对于确定视线、被枪击命中的目标以及游戏玩法中的许多其他用途非常有用。
注意:此函数为返回的 RaycastHit2D 数组分配内存。如果您需要频繁进行线检测,请使用 Linecast 来避免这种开销。
此外,这也会检测线起点处的碰撞器(s)。在这种情况下,该线从碰撞器内部开始,并且没有与碰撞器表面相交。这意味着无法计算碰撞法线,在这种情况下,返回的碰撞法线将设置为被测试线向量的反向。这很容易检测到,因为这种结果始终在 RaycastHit2D 分数为零的情况下出现。
其他资源: LayerMask 类, RaycastHit2D 类, Linecast, DefaultRaycastLayers, IgnoreRaycastLayer, raycastsHitTriggers。