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

Physics2D.GetRayIntersectionNonAlloc

建议更改

成功!

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

关闭

提交失败

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

关闭

取消

声明

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

参数

ray 定义要测试的原点和方向的 3D 射线。
distance 投射射线的最大距离。
layerMask 用于选择要检测碰撞器的层的层掩码过滤器。
results 用于接收结果的数组。

返回值

int 返回的 RaycastHit2D 结果数量。

描述

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

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