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

Physics2D.OverlapPoint

建议更改

成功!

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

关闭

提交失败

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

关闭

取消

声明

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

参数

point 世界空间中的一个点。
layerMask 过滤器,仅检查特定图层上的对象。
minDepth 仅包含 Z 坐标(深度)大于或等于此值的物体。
maxDepth 仅包含 Z 坐标(深度)小于或等于此值的物体。

返回值

Collider2D 与该点重叠的碰撞器。

描述

检查碰撞器是否与空间中的某个点重叠。

可选的 layerMask 允许测试仅检查特定图层上的对象。

虽然 Z 轴与 2D 中的渲染或碰撞无关,但您可以使用 minDepthmaxDepth 参数根据对象的 Z 坐标对其进行过滤。如果多个碰撞器与该点重叠,则返回的碰撞器将是 Z 坐标值最低的碰撞器。如果该点上没有碰撞器,则返回 null。

其他资源: OverlapPointAllOverlapPointNonAlloc.


声明

public static int OverlapPoint(Vector2 point, ContactFilter2D contactFilter, Collider2D[] results);

参数

point 世界空间中的一个点。
contactFilter 用于以不同方式过滤结果的接触过滤器,例如按图层蒙版、Z 深度。请注意,法线角不会用于重叠测试。
results 用于接收结果的数组。数组的大小决定了可以返回的最大结果数。

返回值

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

描述

检查碰撞器是否与世界空间中的某个点重叠。

此函数返回找到的碰撞器数量,并将这些碰撞器放入 results 数组中。


声明

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

参数

point 世界空间中的一个点。
contactFilter 用于以不同方式过滤结果的接触过滤器,例如按图层蒙版、Z 深度。请注意,法线角不会用于重叠测试。
results 用于接收结果的列表。

返回值

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

描述

检查碰撞器是否与世界空间中的某个点重叠。

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