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

Physics2D.OverlapCircle

建议更改

成功!

感谢您帮助我们提高 Unity 文档的质量。虽然我们无法接受所有提交,但我们确实阅读了用户提出的每一个更改建议,并在适用时进行更新。

关闭

提交失败

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

关闭

取消

声明

public static Collider2D OverlapCircle(Vector2 point, float radius, int layerMask = DefaultRaycastLayers, float minDepth = -Mathf.Infinity, float maxDepth = Mathf.Infinity);

参数

point 圆形中心。
radius 圆形的半径。
layerMask 筛选器,仅检查特定层上的对象。
minDepth 仅包含Z坐标(深度)大于或等于此值的物体。
maxDepth 仅包含Z坐标(深度)小于或等于此值的物体。

返回值

Collider2D 与圆形重叠的碰撞体。

描述

检查碰撞体是否落在圆形区域内。

圆形由其在世界空间中的中心坐标及其半径定义。可选的layerMask允许测试仅检查特定层上的对象。

虽然Z轴与2D中的渲染或碰撞无关,但您可以使用minDepthmaxDepth参数根据其Z坐标筛选对象。如果多个碰撞体落在圆形内,则返回的碰撞体将是Z坐标值最低的那个。如果圆形内没有碰撞体,则返回Null。其他资源:OverlapCircleAllOverlapCircle


声明

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

参数

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

返回值

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

描述

检查碰撞体是否在圆形区域内。

此函数返回找到的碰撞体数量,并将这些碰撞体放置在results数组中。结果也可以通过contactFilter进行筛选。请注意,对于重叠函数,无法通过法线角度进行筛选。


声明

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

参数

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

返回值

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

描述

检查碰撞体是否在圆形区域内。

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