前言
在上一篇中(【UE5.1】NPC人工智能------02 NPC移动到指定位置)我们已经实现了NPC向指定位置或Actor移动的功能,但是如果NPC移动路线上有障碍则无法绕过障碍移动,为了解决这个问题,本篇文章介绍使用导航数据让NPC跨障碍移动。
效果
步骤
- 将"NavMeshBoundsVolume"拖入场景,然后按P键就可以看到绿色区域就是NPC可以被导航的区域
- 在狮子蓝图中勾选节点"移动到Actor"的参数"Use Pathfinding",此时我们就可以使用导航数据来规划NPC移动路线
此时可以看到NPC狮子可以绕过障碍移动到玩家位置
- 当我们在场景中添加"NavMeshBoundsVolume",会发现大纲中会多出一个"RecastNavMesh-Default",我们可以用它来修改导航网格
这里简要介绍两个常用的设置选项。我们可以通过修改"最大简化误差"来修改导航网格形状可被简化的量(值越大自由度越高)
如下分别是"最大简化误差"为1和5的区别
我们可以通过设置"单元高度"的值让导航网格不覆盖高度为单元高度以上的障碍物,通过设置大一点的单元高度值就能让一些可以跳或者飞的NPC被导航从而越过障碍。