start | 线段在世界空间中的起点。 |
end | 线段在世界空间中的终点。 |
layerMask | 用于仅检测特定图层上的碰撞器的过滤器。 |
contactFilter | 用于以不同方式过滤结果的接触过滤器,例如按图层遮罩、Z 深度或法线角度。 |
RaycastHit2D 返回的碰撞检测结果。
在 PhysicsScene2D 中针对碰撞器投射一条线段,仅返回第一个交点。
linecast 是世界空间中两点之间的一条假想线。任何与这条线接触的 Collider2D 都可以被检测并报告。这与类似的 raycast 不同,后者使用起点、方向和距离来指定线段。linecast 在确定视线、被枪击命中的目标以及游戏玩法中的许多其他目的方面很有用。
当这条线接触场景中的 Collider2D 时,此函数会返回一个 RaycastHit2D 对象。假设线段的方向从起点延伸到终点。只有在这个方向上遇到的第一个碰撞器将被报告。
layerMask 可以用于有选择地仅检测特定图层上的对象(例如,这允许您仅将检测应用于敌方角色)。使用 contactFilter
的此方法的重载可以通过 ContactFilter2D 中提供的选项来过滤结果。
此外,这还会检测光线起点处的碰撞器(s)。在这种情况下,光线从碰撞器内部开始,并不与碰撞器表面相交。这意味着无法计算碰撞法线,在这种情况下,返回的碰撞法线被设置为被测试的光线向量的反向。这很容易检测到,因为这种结果始终是零的 RaycastHit2D 分数。
其他资源:PhysicsScene2D、RaycastHit2D、LayerMask、Physics2D.DefaultRaycastLayers、Physics2D.IgnoreRaycastLayer、Physics2D.queriesHitTriggers.
start | 线段在世界空间中的起点。 |
end | 线段在世界空间中的终点。 |
results | 用于接收结果的数组。数组的大小决定了可以返回的最大结果数。 |
layerMask | 用于仅检测特定图层上的碰撞器的过滤器。 |
contactFilter | 用于以不同方式过滤结果的接触过滤器,例如按图层遮罩、Z 深度或法线角度。 |
int 返回放置在 results
数组中的结果数。
在 PhysicsScene2D 中针对碰撞器投射一条线段。
linecast 是世界空间中两点之间的一条假想线。任何与这条线接触的 Collider2D 都可以被检测并报告。这与类似的 raycast 不同,后者使用起点、方向和距离来指定线段。linecast 在确定视线、被枪击命中的目标以及游戏玩法中的许多其他目的方面很有用。
此函数返回任何与线段相交的 Collider2D,结果将返回到提供的数组中。整数返回值是与线段相交的对象的数量(可能为零),但如果数组不包含足够的元素来报告所有结果,则结果数组不会调整大小。这意味着不会为结果分配任何内存,因此垃圾收集性能得到提高。请注意,如果您传递一个空数组,您将始终获得零结果。
layerMask 可以用于有选择地仅检测特定图层上的对象(例如,这允许您仅将检测应用于敌方角色)。使用 contactFilter
的此方法的重载可以通过 ContactFilter2D 中提供的选项来过滤结果。
此外,这还会检测光线起点处的碰撞器(s)。在这种情况下,光线从碰撞器内部开始,并不与碰撞器表面相交。这意味着无法计算碰撞法线,在这种情况下,返回的碰撞法线被设置为被测试的光线向量的反向。这很容易检测到,因为这种结果始终是零的 RaycastHit2D 分数。
所有结果按升序距离排序。
其他资源:PhysicsScene2D、RaycastHit2D、LayerMask、Physics2D.DefaultRaycastLayers、Physics2D.IgnoreRaycastLayer、Physics2D.queriesHitTriggers.
start | 线段在世界空间中的起点。 |
end | 线段在世界空间中的终点。 |
contactFilter | 用于以不同方式过滤结果的接触过滤器,例如按图层遮罩、Z 深度或法线角度。 |
results | 用于接收结果的列表。 |
int 返回放置在 results
列表中的结果数。
在 PhysicsScene2D 中针对碰撞器投射一条线段。
linecast 是世界空间中两点之间的一条假想线。任何与这条线接触的 Collider2D 都可以被检测并报告。这与类似的 raycast 不同,后者使用起点、方向和距离来指定线段。linecast 在确定视线、被枪击命中的目标以及游戏玩法中的许多其他目的方面很有用。
整数返回值是写入 results
列表中的结果数。如果列表不包含足够的元素来报告所有结果,则结果列表将调整大小。这可以防止为结果分配内存,而无需调整 results
列表的大小,并提高频繁执行查询时的垃圾收集性能。
结果也可以通过 contactFilter
进行过滤。所有结果按升序距离排序。
其他资源:PhysicsScene2D 和 RaycastHit2D.
所有结果按升序距离排序。
其他资源:PhysicsScene2D、RaycastHit2D、LayerMask、Physics2D.DefaultRaycastLayers、Physics2D.IgnoreRaycastLayer、Physics2D.queriesHitTriggers.