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

PhysicsScene2D.OverlapArea

建议更改

成功!

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

关闭

提交失败

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

关闭

取消

声明

public Collider2D OverlapArea(Vector2 pointA, Vector2 pointB, int layerMask = Physics2D.DefaultRaycastLayers);

声明

public Collider2D OverlapArea(Vector2 pointA, Vector2 pointB, ContactFilter2D contactFilter);

参数

pointA 矩形的一个角。
pointB 与 pointA 角相对的矩形角。
layerMask 过滤器,用于仅检查特定图层上的对象。
contactFilter 用于以不同方式过滤结果的接触过滤器,例如按图层蒙版和 Z 深度。请注意,法线角度不用于重叠测试。

返回值

Collider2D 与该区域重叠的碰撞体。

描述

检查 PhysicsScene2D 中碰撞体的一个区域(非旋转矩形),仅返回第一个交集。

“OverlapArea”从概念上讲就像透过一个矩形形状观察场景以确定可以看到什么。可以检测和报告任何可见的Collider2D

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

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

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


声明

public int OverlapArea(Vector2 pointA, Vector2 pointB, Collider2D[] results, int layerMask = Physics2D.DefaultRaycastLayers);

声明

public int OverlapArea(Vector2 pointA, Vector2 pointB, ContactFilter2D contactFilter, Collider2D[] results);

参数

pointA 矩形的一个角。
pointB 与 pointA 角相对的矩形角。
results 接收结果的数组。数组的大小决定了可以返回的最大结果数。
layerMask 过滤器,用于仅检查特定图层上的对象。
contactFilter 用于以不同方式过滤结果的接触过滤器,例如按图层蒙版和 Z 深度。请注意,法线角度不用于重叠测试。

返回值

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

描述

检查 PhysicsScene2D 中碰撞体的一个区域(非旋转矩形),返回所有交集。

“OverlapArea”从概念上讲就像透过一个矩形形状观察场景以确定可以看到什么。可以检测和报告任何可见的Collider2D

此函数返回一个与该区域重叠的Collider2D数组。

整数返回值是与该区域相交的对象数(可能为零),但如果数组不包含足够元素来报告所有结果,则结果数组不会调整大小。这意味着不会为结果分配内存,因此可以提高垃圾回收性能。请注意,如果您传递一个空数组,则始终会得到零结果。

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

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


声明

public int OverlapArea(Vector2 pointA, Vector2 pointB, ContactFilter2D contactFilter, List<Collider2D> results);

参数

pointA 矩形的一个角。
pointB 与 pointA 角相对的矩形角。
contactFilter 用于以不同方式过滤结果的接触过滤器,例如按图层蒙版和 Z 深度。请注意,法线角度不用于重叠测试。
results 接收结果的列表。

返回值

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

描述

检查 PhysicsScene2D 中碰撞体的一个区域(非旋转矩形),返回所有交集。

“OverlapArea”从概念上讲就像透过一个矩形形状观察场景以确定可以看到什么。可以检测和报告任何可见的Collider2D

此函数返回一个与该区域重叠的Collider2D列表。

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

结果也可以通过contactFilter进行过滤。