格式
typescript
NavMeshQuery.IsPointOnMesh(sceneObj, pos, halfExt, areaFlags)所属类: NavMeshQuery
描述
用于查询某点是否在导航网格上。
参数
| 参数名 | 类型 | 描述 |
|---|---|---|
| sceneObj | Scene | 与导航网格相关联的场景,即由哪个场景烘培得到的导航网格 |
| pos | Vector3 | 查询点 |
| halfExt | Vector3 | 三维方向上的查询半径,查询范围为一个立方体 |
| areaFlags | number | 查询时包含的区域,使用按位与指定查询区域,其含义同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;
}
}
}