public static RaycastHit2D[] CapsuleCastAll (Vector2 origin, Vector2 size, CapsuleDirection2D capsuleDirection, float angle, Vector2 direction, float distance= Mathf.Infinity, int layerMask= DefaultRaycastLayers, float minDepth= -Mathf.Infinity, float maxDepth= Mathf.Infinity);

Parameters

origin胶囊体在 2D 空间中的起点。
size胶囊体的大小。
capsuleDirection胶囊体的方向。
angle胶囊体的角度(以度为单位)。
direction表示胶囊体投射方向的向量。
distanceThe maximum distance over which to cast the capsule.
layerMask过滤器,用于仅在特定层上检测碰撞体。
minDepth仅包括 Z 坐标(深度)大于该值的对象。
maxDepth仅包括 Z 坐标(深度)小于该值的对象。

Returns

RaycastHit2D[] 返回的投射数量。

Description

Casts a capsule against colliders in the Scene, returning all colliders that contact with it.

A CapsuleCast is conceptually like dragging a capsule through the Scene in a particular direction. Any object making contact with the capsule can be detected and reported.

该函数类似于 CapsuleCast 函数,但它并非仅检测命中的第一个碰撞体,而是返回一个胶囊体行进路径上接触到的所有碰撞体的数组。数组中的碰撞体按到原点的距离顺序排序。layerMask 可用于仅在特定层上有选择地检测对象(例如,这让您能够仅将检测应用于敌人角色)。

返回的 RaycastHit2D 将返回胶囊体将与碰撞体接触的点和法线。此外,它还返回当胶囊体接触该点时胶囊体的质心。

另请参阅:ContactFilter2DLayerMask 类、RaycastHit2D 类、CapsuleCastCapsuleCastNonAllocDefaultRaycastLayersIgnoreRaycastLayerraycastsHitTriggers