Skip to content

格式

typescript
NavMeshQuery.IsPointOnMesh(sceneObj, pos, halfExt, areaFlags)

所属类: NavMeshQuery

描述

用于查询某点是否在导航网格上。

参数

参数名类型描述
sceneObjScene与导航网格相关联的场景,即由哪个场景烘培得到的导航网格
posVector3查询点
halfExtVector3三维方向上的查询半径,查询范围为一个立方体
areaFlagsnumber查询时包含的区域,使用按位与指定查询区域,其含义同NavMeshAgent的areaMask

返回值

类型描述
boolean点是否在导航网格上

代码示例

typescript
class TestNavQuery extends Component
{
    public halfExt:Vector3;
    public obj: GameObject;
    private hasPrevPos:boolean = false;
    private prevPos:Vector3;

    public OnStart(): void
    {
    }

    public OnUpdate(): void
    {
        if (this.hasPrevPos == false && this.obj.transform != null){
            this.hasPrevPos = true;
            this.prevPos = this.obj.transform.position;
            return;
        }

        let curPos = this.obj.transform.position;
        Debug.Log(curPos);

        if (curPos.EqualsTo(this.prevPos) == false){
            let res = NavMeshQuery.IsPointOnMesh(this.obj.scene, curPos, this.halfExt, 65535);
            Debug.Log(res);
            this.prevPos = curPos;
        }
    }
}