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

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的对象。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值