Version: 2022.3
public static int OverlapCollider (Collider2D collider, Collider2D[] results, int layerMask= Physics2D.DefaultRaycastLayers);
public static int OverlapCollider (Collider2D collider, ContactFilter2D contactFilter, Collider2D[] results);

参数

collider 定义用于查询其他碰撞体重叠的区域的碰撞体。
results 用于接收结果的数组。该数组的大小决定可返回的结果的最大数量。
layerMask 筛选器,用于检查仅在指定层上的对象。
contactFilter 用于以不同方式筛选结果的接触筛选器,例如按层遮罩和 Z 深度。注意,法线角度不用于重叠测试。

返回

int 返回放置在 results 数组中的结果数。

描述

将一个碰撞体与 PhysicsScene2D 中的碰撞体进行比对,返回所有交点。

从概念上说,"OverlapCollider" 就像通过碰撞体形状查看场景以确定可以看到的内容。在该过程中,可以检测并报告所看到的任何 Collider2D

此函数返回与盒体重叠的 Collider2D 数组。

整数返回值为与该盒体交叠的对象数(可能为零),但如果结果数组中没有足够的元素来报告所有这些结果,则不会调整该数组的大小。其意义在于不为这些结果分配内存,因此会提高垃圾收集性能。请注意,如果传递空数组,则始终会得到零结果。

layerMask 可用于仅在特定层上有选择地检测对象(例如,这让您能够仅将检测应用于敌人角色)。使用 contactFilter 的此方法重载可以按 ContactFilter2D 中提供的选项筛选结果。

另请参阅:PhysicsScene2DLayerMaskPhysics2D.DefaultRaycastLayersPhysics2D.IgnoreRaycastLayerPhysics2D.queriesHitTriggersCollider2D.OverlapColliderRigidbody2D.OverlapCollider


public static int OverlapCollider (Collider2D collider, ContactFilter2D contactFilter, List<Collider2D> results);

参数

collider 定义用于查询其他碰撞体重叠的区域的碰撞体。
contactFilter 用于以不同方式筛选结果的接触筛选器,例如按层遮罩和 Z 深度。注意,法线角度不用于重叠测试。
results 用于接收结果的列表。

返回

int 返回放置在 results 列表中的结果数。

描述

将一个碰撞体与 PhysicsScene2D 中的碰撞体进行比对,返回所有交点。

从概念上说,"OverlapCollider" 就像通过碰撞体形状查看场景以确定可以看到的内容。在该过程中,可以检测并报告所看到的任何 Collider2D

此函数返回与盒体重叠的 Collider2D 数组。

该整数返回值是写入到 results 列表中的结果数。如果结果列表中没有足够的元素来报告所有这些结果,则会调整列表的大小。这可在 results 列表无需调整大小时防止为结果分配内存,可在经常执行查询时提高垃圾收集性能。

也可以通过 contactFilter 对结果进行筛选。


Did you find this page useful? Please give it a rating: