方法
private bool IsValid(Vector3 pos)
{
return NavMesh.SamplePosition(pos, out NavMeshHit hit, 1, NavMesh.AllAreas);
}
Position:原始位置
hit:保留所声称位置的属性
maxDistance:以游戏对象为中心,这个数值为半径,获取一个点并判断是否满足要求
areaMask:允许通行的导航网格下标
问题:
遇到了一个问题,写的不好,做个记录吧,如果能帮助到别人那就更棒了~
我需要判断一个点是否合法,如上所示我使用了NavMesh自带的接口,发布安卓的apk后,发现进不去场景了,报错如下
MissingMethodException: MethodNotFind UnityEngine.AI.NavMesh::
最后确定为,打包时unity把NavMesh的代码裁剪掉了,找到了项目中的link.xml,果然没有NavMesh
将NavMesh添加后,出包再运行就正常了,添加如下