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

Physics2D.OverlapCapsule

建议更改

成功!

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

关闭

提交失败

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

关闭

取消

声明

public static Collider2D OverlapCapsule(Vector2 point, Vector2 size, CapsuleDirection2D direction, float angle, int layerMask = DefaultRaycastLayers, float minDepth = -Mathf.Infinity, float maxDepth = Mathf.Infinity);

参数

point 胶囊的中心。
size 胶囊的大小。
direction 胶囊的方向。
angle 胶囊的角度。
layerMask 过滤器,仅检查特定图层上的对象。
minDepth 仅包含 Z 坐标(深度)大于此值的物体。
maxDepth 仅包含 Z 坐标(深度)小于此值的物体。

返回值

Collider2D 与胶囊重叠的碰撞体。

描述

检查碰撞体是否落在胶囊区域内。

胶囊由其在世界空间中的中心坐标、大小、方向和角度定义。可选的layerMask允许测试仅检查特定图层上的对象。

虽然 Z 轴与 2D 中的渲染或碰撞无关,但您可以使用minDepthmaxDepth参数根据其 Z 坐标过滤对象。如果多个碰撞体落在胶囊内,则返回的碰撞体将是 Z 坐标值最低的那个。如果框中没有碰撞体,则返回 Null。

其他资源:OverlapCapsuleOverlapCapsuleAllOverlapCapsuleNonAlloc


声明

public static int OverlapCapsule(Vector2 point, Vector2 size, CapsuleDirection2D direction, float angle, ContactFilter2D contactFilter, Collider2D[] results);

参数

point 胶囊的中心。
size 胶囊的大小。
direction 胶囊的方向。
angle 胶囊的角度。
contactFilter 用于以不同方式过滤结果的接触过滤器,例如按图层蒙版、Z 深度。请注意,法线角度不用于重叠测试。
results 接收结果的数组。数组的大小决定了可以返回的最大结果数。

返回值

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

描述

检查碰撞体是否落在胶囊区域内。

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


声明

public static int OverlapCapsule(Vector2 point, Vector2 size, CapsuleDirection2D direction, float angle, ContactFilter2D contactFilter, List<Collider2D> results);

参数

point 胶囊的中心。
size 胶囊的大小。
direction 胶囊的方向。
angle 胶囊的角度。
contactFilter 用于以不同方式过滤结果的接触过滤器,例如按图层蒙版、Z 深度。请注意,法线角度不用于重叠测试。
results 接收结果的列表。

返回值

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

描述

检查碰撞体是否落在胶囊区域内。

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