新版寻路组件的使用 NavMeshSurface

本文介绍了一个Unitydemo项目,该项目利用NavMeshSurface和NavMeshModifier组件实现怪物的自动寻路功能。开发者通过CSV文件动态生成关卡中的怪物、障碍物和道具,利用动态烘焙的特性处理不同关卡的导航网格。经过测试,寻路功能能够成功避开障碍物达到目的地。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

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

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

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

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

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

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

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

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

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

 

 

 

 

 

 

 

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值