【UE5.1】NPC人工智能——03 NPC跨障碍移动

前言

在上一篇中(【UE5.1】NPC人工智能------02 NPC移动到指定位置)我们已经实现了NPC向指定位置或Actor移动的功能,但是如果NPC移动路线上有障碍则无法绕过障碍移动,为了解决这个问题,本篇文章介绍使用导航数据让NPC跨障碍移动。

效果

步骤

  1. 将"NavMeshBoundsVolume"拖入场景,然后按P键就可以看到绿色区域就是NPC可以被导航的区域
  1. 在狮子蓝图中勾选节点"移动到Actor"的参数"Use Pathfinding",此时我们就可以使用导航数据来规划NPC移动路线

此时可以看到NPC狮子可以绕过障碍移动到玩家位置

  1. 当我们在场景中添加"NavMeshBoundsVolume",会发现大纲中会多出一个"RecastNavMesh-Default",我们可以用它来修改导航网格

这里简要介绍两个常用的设置选项。我们可以通过修改"最大简化误差"来修改导航网格形状可被简化的量(值越大自由度越高)

如下分别是"最大简化误差"为1和5的区别

我们可以通过设置"单元高度"的值让导航网格不覆盖高度为单元高度以上的障碍物,通过设置大一点的单元高度值就能让一些可以跳或者飞的NPC被导航从而越过障碍。

相关推荐
5***o5001 天前
PHP在电商中的支付集成
sql·ue5·rizomuv
AA陈超2 天前
从0开始学习 **Lyra Starter Game** 项目
c++·笔记·学习·游戏·ue5·lyra
AA陈超7 天前
以 Lyra 的架构为基础,创建一个名为 “Aura“ 的英雄并实现发射火球技能
c++·笔记·学习·ue5·lyra
AA陈超7 天前
Lyra项目中的输入系统
c++·笔记·学习·游戏·ue5·lyra
AA陈超7 天前
ASC学习笔记0027:直接设置属性的基础值,而不会影响当前正在生效的任何修饰符(Modifiers)
c++·笔记·学习·ue5·虚幻引擎
开发游戏的老王7 天前
UE5.6 C++项目升级UE5.7时用Rider加载项目失败的解决办法
ue5·游戏引擎·虚幻·虚幻引擎·rider·ue5.7·target.cs
AA陈超8 天前
ASC学习笔记0020:用于定义角色或Actor的默认属性值
c++·笔记·学习·ue5·虚幻引擎
平行云8 天前
World Labs & Paraverse:统一3D世界的创造与访问
3d·unity·ai·ue5·aigc·实时云渲染·云xr
AA陈超8 天前
使用UnrealEngine引擎,实现鼠标点击移动
c++·笔记·学习·ue5·虚幻引擎
AA陈超8 天前
Lyra源码分析:LyraCharacterMovementComponent
c++·笔记·学习·ue5·虚幻引擎·lyra