您的位置:首页 > 移动开发 > Unity3D

用NavMesh实现人物移动到鼠标点击的位置

2018-03-06 11:35 344 查看
1.首先将要烘焙的静态环境选择的static勾选



2.点击打开Window/Navigation面板



选择Bake 待烘焙完成 可以看到场景面板 蓝色表示可以到达的位置



但是如果你是按我这个样子建立的场景
那么有两个问题:
1:大的正方形上也是蓝色的(表示可以到达)
2:小的正方形下面不是蓝色的(表示不可以到达[不可以穿过])
那么如果在做游戏的时候 假设这个大正方形是不可以达的地方 这个小的正方形是可以穿过的 那么应该怎么修改呢
1. 如果要设定某个不可达的 那么选定这个物体 打开Navigation面板 选择Object 将Navigation Area 修改为Not Walkable 
再进行烘焙。你会发现大正方形上的蓝色区域消失了。



2.将物体设置为可穿过了 只需打开static旁边的三角 将Navigation Static取消勾选 再进行烘焙 即可。



完成上面工作后即可进行Navigation进行控制移动
1.给要控制的物体添加一个Nav Mesh Agent组件
2.利用射线检测获取到你鼠标点击的位置
3.将鼠标所点击的点赋值给Nav Mesh Agent的某个属性。
4 运行游戏。
[Agent.setDestination(point)]
Ps:Agent为一个Nav Mesh Agent的对象。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息