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

Physics.SphereCastNonAlloc

建议更改

成功!

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

关闭

提交失败

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

关闭

取消

声明

public static int SphereCastNonAlloc(Vector3 origin, float radius, Vector3 direction, RaycastHit[] results, float maxDistance = Mathf.Infinity, int layerMask = DefaultRaycastLayers, QueryTriggerInteraction queryTriggerInteraction = QueryTriggerInteraction.UseGlobal);

参数

origin 圆球在开始扫掠时的中心。
radius 圆球的半径。
direction 扫掠圆球的方向。
results 用于保存命中结果的缓冲区。
maxDistance 扫掠的最大长度。
layerMask 在投射圆球时用于选择性忽略碰撞体的图层蒙版
queryTriggerInteraction 指定此查询是否应该命中触发器。

返回

int 存储到 results 缓冲区中的命中量。

说明

沿着方向投射圆球并把结果存储到缓冲区中。

这是 Physics.SphereCastAll 的一种变体, 但它没有用包含查询结果的数组进行分配, 而是把结果存储到用户提供的数组中。它只计算出不超过缓冲区大小的命中结果数, 并按非特定顺序把这些结果存储进去。它并不能保证只存储最近的命中结果。不生成垃圾。


声明

public static int SphereCastNonAlloc(Ray ray, float radius, RaycastHit[] results, float maxDistance = Mathf.Infinity, int layerMask = DefaultRaycastLayers, QueryTriggerInteraction queryTriggerInteraction = QueryTriggerInteraction.UseGlobal);

参数

ray 将球面扫掠投射到其中的射线的起始点和方向。
radius 圆球的半径。
results 用来保存结果的缓冲区。
maxDistance 扫掠的最大长度。
layerMask 在投射圆球时用于选择性忽略碰撞体的图层蒙版
queryTriggerInteraction 指定此查询是否应该命中触发器。

返回

int 存储到 results 缓冲区中的命中量。

说明

沿着方向投射圆球并把结果存储到缓冲区中。