自动寻路Navmesh高级(寻路网格)

之前我们一起学习了如何使用Navmesh组件来实现最基本的角色自动寻路。今天我们再继续深入探索Navigation组件的高级功能。在本文中,你将了解到如何在两个隔离层自动生成寻路网格?如何手动指定寻路网格的路线?以及寻路网格层的应用。

隔离层自动生成寻路网格

(源码scene1.unity)

1.创建Plane实例P1,P2,两者之间出现一条鸿沟。直接控制角色位移是无法通过的。

2.打开Navigation窗口,分别选中P1,P2,分别设置Navigation Static 和OffMeshLink Generatic

3.保存场景,点击场景烘焙按钮Bake。结束后我们可以看到P1,P2除了自身生产寻路网格外,它们直接还生成了连接纽带。

4.添加角色模型Solder,为其添加NavMeshAgent(Component->Navigation->NavMeshAgent)

5.给Solder添加PlayerController脚本

手动指定寻路网格方向

1.scene1.unity的基础上,将P1,P2的OffMeshLink Generatic去除

2.在P1上新建一个空的GameObject Start,P2上新建一个空的GameObject End

3.选中start,为它添加Off Mesh Link组件Component->Navigation->OffMeshLink

4.设置Off Mesh Link组件的属性,Start Point 为 start,End Point为end

5.烘焙场景。我们可以看到有一条纽带从start指向end

点击地图,可以看到角色如果要跨越P1和P2,一定是沿着我们手动创建的路径

导航网格障碍物 NavmeshObstacle

之前我们都是用固定的物体作为障碍物,,然后烘焙场景。Unity还提供了动态的障碍物。任何一个GameObject都可以添加Navmesh Obstacle组件,变成一个障碍物。具体步骤是Component->Navigation->NavmeshObstacle.它有两个属性:半径和高度,可以设置跟你的物品差不多的体积大小。

而是他们在同伴们都睡着的时候,一步步艰辛地

自动寻路Navmesh高级(寻路网格)

相关文章:

你感兴趣的文章:

标签云: