版本: Unity 6 (6000.0)
语言英语
  • C#

Physics2D.GetRayIntersectionAll

建议更改

成功!

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

关闭

提交失败

由于某些原因,您的建议更改无法提交。请<a>稍后再试</a>。感谢您抽出时间帮助我们提高 Unity 文档的质量。

关闭

取消

声明

public static RaycastHit2D[] GetRayIntersectionAll(Ray ray, float distance = Mathf.Infinity, int layerMask = DefaultRaycastLayers);

参数

ray 定义原点和测试方向的 3D 射线。
distance 投射射线的最大距离。
layerMask 用于选择要检测碰撞器的图层的图层蒙版过滤器。

返回值

RaycastHit2D[] 射线相交结果。

描述

对场景中的 2D 碰撞器投射 3D 射线。

此函数充当 3D“射线投射”,但专门设计用于检测 2D 碰撞器。它通过将 3D 射线投影到 2D 空间中,然后执行 2D 相交测试来实现此目的,并根据原始 3D 射线的 Z 方向对结果进行排序。