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 数组。也可以通过 contactFilter 对结果进行过滤。注意,按法线角筛选不适用于重叠函数。


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 列表无需调整大小时防止为结果分配内存,可在经常执行查询时提高垃圾收集性能。

也可以通过 contactFilter 对结果进行筛选。

注意,按法线角筛选不适用于重叠函数。

Copyright © 2023 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。
公安部备案号:
31010902002961