【UE5.1】NPC人工智能——02 NPC移动到指定位置

效果

步骤

1. 新建一个蓝图,父类选择“AI控制器”

这里命名为“BP_NPC_AIController”,表示专门用于控制NPC的AI控制器

2. 找到我们之前创建的所有NPC的父类“BP_NPC”

打开“BP_NPC”,在类默认值中,将“AI控制器类”一项设置为“BP_NPC_AIController”

3. 打开狮子蓝图“Character_Lion”

在事件图表中选中“事件开始运行”、“事件Tick”和构造函数,然后右键点击“将调用添加到父函数”,这样子类就是自动调用父类的这些事件

由于我们不需要控制NPC移动,因此我们可以在事件图表中删除其他所有节点,只保留如下节点

4. 回到“BP_NPC”中,在事件图表中添加如下节点,来获取对AI控制器的引用。这样“BP_NPC”的所有派生类中都可以直接使用变量“AIController_NPC”

5. 再次回到狮子蓝图“Character_Lion”中,我们可以使用“移动到位置”节点来控制NPC移动到指定位置。注意这里需要取消勾选“Use Pathfinding”选项,因为此时我们还没有导航数据。

此时运行可以看到NPC狮子会朝着玩家所在位置移动

如果是移动到指定的Actor的话,我们可以使用“移动到Actor”节点更好。因为当NPC向着Actor移动时,即使此时Actor发生了移动,AI控制器也会控制NPC向玩家移动后的位置移动,直到移动到Actor才停止运行。

如果希望NPC移动到Actor附近就停止跟踪,我们可以将参数“Acceptance Radius”的值设置为100,表示NPC移动Actor附近100cm范围内就停止移动

相关推荐

  1. npm指令

    2024-07-17 08:46:09       50 阅读
  2. npm指令

    2024-07-17 08:46:09       26 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-17 08:46:09       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-17 08:46:09       72 阅读
  3. 在Django里面运行非项目文件

    2024-07-17 08:46:09       58 阅读
  4. Python语言-面向对象

    2024-07-17 08:46:09       69 阅读

热门阅读

  1. SQL-约束

    2024-07-17 08:46:09       22 阅读
  2. 【DevOps文化与实践】DevOps的基本原则和实施策略

    2024-07-17 08:46:09       21 阅读
  3. 基于形状匹配原始版放出来(给有用的人参考2)

    2024-07-17 08:46:09       22 阅读
  4. 华为应用市场静默安装

    2024-07-17 08:46:09       18 阅读
  5. 使用Micronaut进行无服务器应用开发

    2024-07-17 08:46:09       23 阅读