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

PhysicsScene2D.OverlapBox

建议更改

成功!

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

关闭

提交失败

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

关闭

取消

声明

public Collider2D OverlapBox(Vector2 point, Vector2 size, float angle, int layerMask = Physics2D.DefaultRaycastLayers);

声明

public Collider2D OverlapBox(Vector2 point, Vector2 size, float angle, ContactFilter2D contactFilter);

参数

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

返回值

Collider2D 与盒子重叠的碰撞器。

描述

检查 PhysicsScene2D 中的碰撞器上的盒子,仅返回第一个交叉点。

“OverlapBox”在概念上就像通过一个盒子形状观察场景以确定可以看到什么。可以检测到并报告看到的任何 Collider2D

此函数返回与盒子重叠的 Collider2D,如果没有重叠则返回 NULL。

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

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


声明

public int OverlapBox(Vector2 point, Vector2 size, float angle, Collider2D[] results, int layerMask = Physics2D.DefaultRaycastLayers);

声明

public int OverlapBox(Vector2 point, Vector2 size, float angle, ContactFilter2D contactFilter, Collider2D[] results);

参数

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

返回值

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

描述

检查 PhysicsScene2D 中的碰撞器上的盒子,返回所有交叉点。

“OverlapBox”在概念上就像通过一个盒子形状观察场景以确定可以看到什么。可以检测到并报告看到的任何 Collider2D

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

整数返回值是与盒子相交的对象的数量(可能为零),但如果数组中没有足够的元素来报告所有结果,则结果数组不会调整大小。这意味着不会为结果分配任何内存,因此垃圾收集性能得到改善。请注意,如果传递空数组,您将始终获得零结果。

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

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


声明

public int OverlapBox(Vector2 point, Vector2 size, float angle, ContactFilter2D contactFilter, List<Collider2D> results);

参数

point 盒子的中心。
size 盒子的尺寸。
angle 盒子的角度。
contactFilter 用于以不同方式过滤结果的接触过滤器,例如按层遮罩和 Z 深度。请注意,法线角度不用于重叠测试。
results 用于接收结果的列表。

返回值

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

描述

检查 PhysicsScene2D 中的碰撞器上的盒子,返回所有交叉点。

“OverlapBox”在概念上就像通过一个盒子形状观察场景以确定可以看到什么。可以检测到并报告看到的任何 Collider2D

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

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

结果也可以通过 contactFilter 过滤。