origin | 射线在二维空间中的起点。 |
direction | 表示射线方向的向量。 |
distance | 射线发射的最大距离。 |
layerMask | 过滤器,仅检测某些层上的碰撞器。 |
minDepth | 仅包含 Z 坐标(深度)大于或等于此值的物体。 |
maxDepth | 仅包含 Z 坐标(深度)小于或等于此值的物体。 |
RaycastHit2D[] 返回的碰撞结果。
将射线投射到场景中的碰撞器上,返回所有与之接触的碰撞器。
射线投射 从概念上类似于从空间中的一个点沿着特定方向发射的激光束。任何与光束接触的物体都可以被检测到并报告。
此函数类似于 Raycast 函数,但它不只是检测第一个被击中的碰撞器,而是返回射线路径上所有碰撞器的数组。数组中的碰撞器按距原点的距离排序。layerMask 可用于有选择地仅检测某些层上的物体(例如,这允许您仅将检测应用于敌方角色)。
射线投射对于确定视线、枪击命中目标以及游戏玩法中的许多其他目的非常有用。
此外,这也将检测射线开始处的碰撞器(s)。在这种情况下,射线从碰撞器内部开始,并不与碰撞器表面相交。这意味着无法计算碰撞法线,在这种情况下,返回的碰撞法线将设置为被测试的射线向量的逆。这很容易检测到,因为这样的结果总是在 RaycastHit2D 分数为零时发生。
其他资源:LayerMask 类、RaycastHit2D 类、Raycast、Linecast、DefaultRaycastLayers、IgnoreRaycastLayer、raycastsHitTriggers。