版本:Unity 6 (6000.0)
语言中文(简体)
  • C#

Physics2D.BoxCastAll

建议更改

成功!

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

关闭

提交失败

由于某些原因,未能提交您建议的更改。请在几分钟后重试。感谢您花时间帮助我们改进 Unity 文档质量。

关闭

取消

声明

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

参数

origin 方框起始的二维空间中的点。
size 方框的大小。
angle 方框的角度(以度为单位)。
direction 表示方框方向的矢量。
distance 方框投射的最大距离。
layerMask 仅在特定层检测碰撞体的筛选器。
minDepth 仅包含 Z 坐标(深度)大于或等于此值的对象。
maxDepth 仅包含 Z 坐标(深度)小于或等于此值的对象。

返回

RaycastHit2D[] 返回的投射结果。

描述

向场景中的碰撞体投射一个方框,返回与它接触的所有碰撞体。

BoxCast 在概念上类似于在场景中沿着特定方向拖动一个方框。可以检测并报告与该方框进行接触的任何对象。

此函数类似于BoxCast函数,但不会仅检测命中的第一个碰撞体,而是会返回方框路径上的所有碰撞体的数组。数组中的碰撞体按与原点距离的顺序进行排序。layerMask 可以用来仅在特定层上选择性地检测对象(例如,这允许你仅对敌方角色应用检测)。

返回的 RaycastHit2D 返回方框会接触到碰撞器的接触点的点和法线。它还返回了方框将为此接触点定位到的质心。

其他资源:LayerMask 类,RaycastHit2D 类,BoxCastBoxCastNonAllocDefaultRaycastLayersIgnoreRaycastLayerraycastsHitTriggers