public static RaycastHit2D[] CircleCastAll (Vector2 origin, float radius, Vector2 direction, float distance= Mathf.Infinity, int layerMask= DefaultRaycastLayers, float minDepth= -Mathf.Infinity, float maxDepth= Mathf.Infinity);

参数

origin圆形在 2D 空间中的起点。
radius圆形的半径。
direction表示圆形方向的矢量。
distance将圆形投射的最大距离。
layerMask过滤器,用于仅在特定层上检测碰撞体。
minDepth仅包括 Z 坐标(深度)大于或等于该值的对象。
maxDepth仅包括 Z 坐标(深度)小于或等于该值的对象。

返回

RaycastHit2D[] 返回的投射数量。

描述

向场景中的碰撞体投射圆形,返回与圆形接触的所有碰撞体。

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

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

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

另请参阅:LayerMask 类、RaycastHit2D 类、CircleCastCircleCastNonAllocDefaultRaycastLayersIgnoreRaycastLayerraycastsHitTriggers

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