版本: Unity 6 (6000.0)
语言英语
  • C#

PhysicsScene2D.OverlapCircle

建议更改

成功!

感谢您帮助我们改进 Unity 文档的质量。虽然我们不能接受所有提交内容,但我们确实会阅读用户提出的每一个更改建议,并在适当的情况下进行更新。

关闭

提交失败

由于某些原因,您的更改建议无法提交。请 <a>稍后再试</a>。感谢您抽出时间帮助我们改进 Unity 文档的质量。

关闭

取消

声明

public Collider2D OverlapCircle(Vector2 point, float radius, int layerMask = Physics2D.DefaultRaycastLayers);

声明

public Collider2D OverlapCircle(Vector2 point, float radius, ContactFilter2D contactFilter);

参数

point 圆的中心。
radius 圆的半径。
layerMask 过滤器,用于仅检查特定层上的对象。
contactFilter 用于以不同方式筛选结果的接触过滤器,例如按层遮罩和 Z 深度。请注意,法线角度不用于重叠测试。

返回值

Collider2D 与圆重叠的碰撞体。

描述

将圆形与 PhysicsScene2D 中的碰撞体进行比较,仅返回第一个交点。

“OverlapCircle”在概念上就像通过圆形形状查看场景,以确定可以看到什么。任何可以看见的 Collider2D 都可以被检测到并报告。

此函数返回一个与圆形重叠的 Collider2D,如果没有任何重叠则返回 NULL。

layerMask 可用于选择性地仅检测特定层上的对象(例如,这允许您仅将检测应用于敌方角色)。使用 contactFilter 的此方法的重载可以通过 ContactFilter2D 中提供的选项来筛选结果。

其他资源:PhysicsScene2DLayerMaskPhysics2D.DefaultRaycastLayersPhysics2D.IgnoreRaycastLayerPhysics2D.queriesHitTriggers


声明

public int OverlapCircle(Vector2 point, float radius, Collider2D[] results, int layerMask = Physics2D.DefaultRaycastLayers);

声明

public int OverlapCircle(Vector2 point, float radius, ContactFilter2D contactFilter, Collider2D[] results);

参数

point 圆的中心。
radius 圆的半径。
results 用于接收结果的数组。数组的大小决定了可以返回的最大结果数。
layerMask 过滤器,用于仅检查特定层上的对象。
contactFilter 用于以不同方式筛选结果的接触过滤器,例如按层遮罩和 Z 深度。请注意,法线角度不用于重叠测试。

返回值

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

描述

将圆形与 PhysicsScene2D 中的碰撞体进行比较,返回所有交点。

“OverlapCircle”在概念上就像通过圆形形状查看场景,以确定可以看到什么。任何可以看见的 Collider2D 都可以被检测到并报告。

此函数返回一个与圆形重叠的 Collider2D 数组。

整数返回值是与圆形相交的对象数量(可能是零),但如果结果数组没有足够元素来报告所有结果,则不会调整结果数组的大小。这样做的意义在于不会为结果分配内存,因此可以提高垃圾回收性能。请注意,如果您传递空数组,您将始终获得零结果。

layerMask 可用于选择性地仅检测特定层上的对象(例如,这允许您仅将检测应用于敌方角色)。使用 contactFilter 的此方法的重载可以通过 ContactFilter2D 中提供的选项来筛选结果。

其他资源:PhysicsScene2DLayerMaskPhysics2D.DefaultRaycastLayersPhysics2D.IgnoreRaycastLayerPhysics2D.queriesHitTriggers


声明

public int OverlapCircle(Vector2 point, float radius, ContactFilter2D contactFilter, List<Collider2D> results);

参数

point 圆的中心。
radius 圆的半径。
contactFilter 用于以不同方式筛选结果的接触过滤器,例如按层遮罩和 Z 深度。请注意,法线角度不用于重叠测试。
results 用于接收结果的列表。

返回值

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

描述

将圆形与 PhysicsScene2D 中的碰撞体进行比较,返回所有交点。

“OverlapCircle”在概念上就像通过圆形形状查看场景,以确定可以看到什么。任何可以看见的 Collider2D 都可以被检测到并报告。

此函数返回一个与圆形重叠的 Collider2D 数组。

整数返回值是写入 results 列表中的结果数量。如果结果列表没有足够元素来报告所有结果,则会调整结果列表的大小。这样可以防止在 results 列表不需要调整大小时为结果分配内存,并在频繁执行查询时提高垃圾回收性能。

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