minDepth | 仅包括 Z 坐标(深度)大于或等于该值的对象。 |
maxDepth | 仅包括 Z 坐标(深度)小于或等于该值的对象。 |
origin | 射线在 2D 空间中的起点。 |
direction | 表示射线方向的矢量。 |
results | 用于接收结果的数组。 |
distance | 射线的最大投射距离。 |
layerMask | 筛选器,用于检查仅在指定层上的对象。 |
int
返回放置在 results
数组中的结果数。
向场景中投射一条射线。
此函数类似于 RaycastAll 函数,不同之处在于其结果会返回到提供的数组中。整数返回值是与该线条交叠的对象数(可能为零),但如果结果数组中没有足够的元素来报告所有这些结果,则不会调整该数组的大小。其意义在于不为这些结果分配内存,因此,如果经常进行光线投射,可以提高垃圾回收性能。
此外,这还将检测位于射线起点的碰撞体。在这种情况下,射线从碰撞体内部开始,并且不与碰撞体表面交叠。这意味着无法计算碰撞法线,在这种情况下,返回的碰撞法线设置为正在测试的射线向量的倒数。这可轻松检测到,因为此类结果始终是 RaycastHit2D 分数为零。
另请参阅:LayerMask 类、RaycastHit2D 类、Raycast、Linecast、DefaultRaycastLayers、IgnoreRaycastLayer、raycastsHitTriggers。