direction | 表示射线方向的向量。 |
results | 用于接收结果的数组。 |
distance | 射线投射的最大距离。 |
layerMask | 过滤器,仅检查特定图层上的对象。 |
minDepth | 仅包含 Z 坐标(深度)大于此值的物体。 |
maxDepth | 仅包含 Z 坐标(深度)小于此值的物体。 |
contactFilter | 由接触过滤器定义的过滤器结果。 |
int 返回的结果数。
将一条从碰撞器位置开始的射线投射到场景中,并忽略碰撞器本身。
此函数类似于 [[Physics2D::RaycastNonAlloc]] 函数,并且以相同的方式,结果将返回到提供的数组中。整数返回值是与射线相交的对象数量(可能是零),但如果结果数组不包含足够的元素来报告所有结果,则不会调整结果数组的大小。这很重要的原因是,不会为结果分配任何内存,因此当频繁执行射线投射时,垃圾回收性能会得到提高。
使用 contactFilter
的此函数的重载会根据 ContactFilter2D 中提供的选项过滤结果。
此外,这还将检测射线起点处的其他碰撞器(s)。在这种情况下,射线从碰撞器内部开始,并且不会与碰撞器表面相交。这意味着无法计算碰撞法线,在这种情况下,返回的碰撞法线将设置为要测试的射线向量的反向。这很容易检测到,因为此类结果的 RaycastHit2D 分数始终为零。
其他资源:LayerMask 类,RaycastHit2D 类,[[Physics2D::RaycastNonAlloc]],[[Physics2D::AllLayers]],[[Physics2D::IgnoreRaycastLayer]],[[Physics2D::raycastsHitTriggers]]。
direction | 表示射线方向的向量。 |
contactFilter | 由接触过滤器定义的过滤器结果。 |
results | 用于接收结果的列表。 |
distance | 射线投射的最大距离。 |
int 返回的结果数。
将一条从碰撞器位置开始的射线投射到场景中,并忽略碰撞器本身。
此函数类似于 [[Physics2D::RaycastNonAlloc]] 函数,并且以相同的方式,结果将返回到提供的列表中。整数返回值是与射线相交的碰撞器数量(可能是零)。如果结果列表不包含足够的元素来报告所有结果,则会调整结果列表的大小。这可以防止为结果分配内存,前提是 results
列表不需要调整大小,并提高了频繁执行查询时的垃圾回收性能。
此外,这还将检测射线起点处的其他碰撞器(s)。在这种情况下,射线从碰撞器内部开始,并且不会与碰撞器表面相交。这意味着无法计算碰撞法线,在这种情况下,返回的碰撞法线将设置为要测试的射线向量的反向。这很容易检测到,因为此类结果的 RaycastHit2D 分数始终为零。
其他资源:RaycastHit2D 类。