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

1.首先将要烘焙的静态环境选择的static勾选


2.点击打开Window/Navigation面板

用NavMesh实现人物移动到鼠标点击的位置_第1张图片

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

用NavMesh实现人物移动到鼠标点击的位置_第2张图片

但是如果你是按我这个样子建立的场景

那么有两个问题:

1:大的正方形上也是蓝色的(表示可以到达)

2:小的正方形下面不是蓝色的(表示不可以到达[不可以穿过])

那么如果在做游戏的时候 假设这个大正方形是不可以达的地方 这个小的正方形是可以穿过的 那么应该怎么修改呢

1. 如果要设定某个不可达的 那么选定这个物体 打开Navigation面板 选择Object 将Navigation Area 修改为Not Walkable 

再进行烘焙。你会发现大正方形上的蓝色区域消失了。

用NavMesh实现人物移动到鼠标点击的位置_第3张图片

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



完成上面工作后即可进行Navigation进行控制移动

1.给要控制的物体添加一个Nav Mesh Agent组件

2.利用射线检测获取到你鼠标点击的位置

3.将鼠标所点击的点赋值给Nav Mesh Agent的某个属性。

4 运行游戏。

[Agent.setDestination(point)]

Ps:Agent为一个Nav Mesh Agent的对象。

你可能感兴趣的:(Unity基础知识)