Version: 2022.3

Physics2D.CapsuleCastAll

切换到手册
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);

参数

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

返回

RaycastHit2D[] 返回的投射数量。

描述

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

从概念上说,CapsuleCast 就像朝特定方向拖动一个胶囊体穿过场景一样。在该过程中,可以检测并报告与胶囊体接触的任何对象。

This function is similar to the CapsuleCast function but instead of detecting just the first Collider that is hit, an array of all Colliders along the path of the capsule is returned. The Colliders in the array are sorted in order of distance from the origin point. The layerMask can be used to detect objects selectively only on certain layers (this allows you to apply the detection only to enemy characters, for example).

The returned RaycastHit2D returns both the point and normal of the contact where the capsule would touch the Collider. It also returns the centroid where the capsule would be positioned for it to contact at that point.

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