Skip to content

PathHitInfo

概览

字段
KindData · 数据 Data
Realmcommon

寻路射线检测结果,用于描述一条射线与导航网格的碰撞信息。它记录了射线的起点、终点、是否命中、命中点的插值参数以及命中点的世界坐标。

适用场景

在使用 Path 的 Raycast 方法进行寻路射线检测时,通过返回值获取 PathHitInfo 实例,进而判断射线是否与导航网格相交并获取碰撞点位置。

使用要点

通过 Path:Raycast(startPosition, endPosition) 获取 PathHitInfo;第二个参数是射线终点坐标,不是方向向量。读取 IsHit 后,仅在命中时使用 HitPosition 和 HitT。

注意事项

PathHitInfo 不可直接构造,必须通过 Path:Raycast 等公开 API 获取。未命中时 HitPosition 为 nil,HitT 无意义。

代码示例

从导航网格射线检测结果读取命中信息

lua
-- @runtime client
local path = game:GetService('PathfindingService'):CreatePath({})
local startPosition = Vector3.New(0, 2, 0)
local endPosition = Vector3.New(20, 2, 0)
local hit = path:Raycast(startPosition, endPosition)
if hit.IsHit then
    print('命中位置和插值参数:', hit.HitPosition, hit.HitT)
end
path:Destroy()

属性 (5)

Name类型默认值说明
StartPositionVector3-射线检测的起点坐标,表示射线发射的起始位置。
EndPositionVector3-射线检测的终点坐标,表示射线从起点到终点的方向与长度。
IsHitBool-指示射线是否与导航网格发生碰撞。
HitTFloat-碰撞点在射线上的插值参数,范围 0 到 1,表示从起点到终点的比例。
HitPositionVector3-射线与导航网格相交位置的世界坐标;未命中时为 nil。

关联类型