新版寻路组件的使用 NavMeshSurface

        自己在做一个demo项目,需要让怪物能自动寻路,所以我决定使用新版的自动寻路,因为它可以动态烘焙(我太喜欢这功能了)。下面是官方文档网址:

导航网格表面 (NavMesh Surface) - Unity 手册

你还可以看其它的网站来多熟悉一下相关的组件功能和参数。

        经过我的使用,发觉有NavMeshSurface和NavMeshModifier这两组件就够了。我的项目是通过读取csv文件的内容来自动生成每一关的怪物、障碍物、道具等,因为每一关的障碍物位置不同,所以需要动态生成导航网格。

        首先,我的项目中有两种地图模型,不同的关卡使用其中之一,如下图:

我给两种地图都加了地面和四周的墙,都是cube碰撞器,tag设置为wall。

然后两种地图预设都加上脚本NavMeshSurface,关键参数如下:

同时所有的墙物体添加NavMeshModifier组件,参数如下,当做寻路网格的不可行走区域。我们在场景中新创建的物体如果也要当做障碍物那么也这么设置。

准备好了接下来就是测试,场景中加一个cube一个sphere,cube要作为障碍物来使用,sphere上添加一个测试脚本,代码中的destPos就在cube后面的小红圈那位置,我就是希望我按下A键的时候球能绕过cube到达目的地。

 经过测试,小球都顺利到达了目的地。

猜你喜欢

转载自blog.csdn.net/qq_34256136/article/details/131871176