当前位置: 首页 > article >正文

【虚幻引擎UE5】SpawnActor生成Character实例不执行AI Move To,未初始化AIController的原因和解决方法

虚幻引擎版本:5.5.4

 问题描述

        刚创建的Third Person项目里,定义一个BP_Enemy蓝图,拖拽到场景中产生的实例会追随玩家,但SpawnActor产生的实例会固定不动。BP_Enemy蓝图具体设计如下:

BP_Enemy的Event Graph
​​

        又定义了一个Actor蓝图BP_SpawnEnemy,在场景中随机半径内根据BP_Enemy蓝图生成实例,BP_SpawnEnemy蓝图具体设计如下:

BP_SpawnEnemy的Event Graph

        场景中也添加了NavMeshBoundsVolume覆盖,将BP_SpawnEnemy放置在场景中时产生的BP_Enemy实例静止不动,如下图。

可能原因

1. AI Move To节点没有生效

2. SpawnActor产生的实例没有激活,不会执行BeginPlay

3. AI Move To节点的输入有问题

4. NavMeshBoundsVolume设置有问题

分析过程

        问题的关键在于:拖拽到场景中的实例和通过SpawnActor产生的实力有什么区别?

        通过在不同的节点前添加Print String节点,可以发现AI Move To的On Success和On Fail都没有执行,怀疑过是不是异步操作的原因,但更大的可能性是输入存在问题,在AI Move To节点前添加Print String节点打印发现输入都很正常,Pawn和TargetActor能获取DisplayedName,即表明成功获取到实例引用,其他还会是什么输入出现问题呢?

        在两天与豆包的交流里它多次提起“AIController异常”的问题,查看BP_Enemy蓝图里“AI Controller Class”发现设置成功,在SpawnActor后获取实例并打印其AIController,Is Valid节点判断为false,果然是没有初始化。在知乎里查到这样一个设置“Auto Possess AI”,看了选项恍然大悟,该设置用来定义角色的AIController在什么场景下初始化。

根本原因

        配置问题,AIController没有初始化。

解决方案 

       在BP_Enemy蓝图中,确认“AI Controller Class”配置是否设为“AIController”,并修改配置“Auto Possess AI”是否设置正确,各选项含义如下:

1. Disabled 不自动初始化AI Controller

2. Placed in world 当实例在场景初始化时就被放置在场景中,自动初始化AI Controller

3. Spawned 当实例是被生成出来的,生成时自动初始化AI Controller

4. Placed in world or spawned 无论实例是被放置或被生成出来的,都会自动初始化AI Controller


http://www.kler.cn/a/594595.html

相关文章:

  • 微服务即时通信系统---(九)消息转发子服务
  • Sqlserver安全篇之_启用和禁用Named Pipes的案列介绍
  • 基于 HT 2D3D 渲染引擎的新能源充电桩可视化运营系统技术剖析
  • 网络安全证书培训机构有哪些
  • Godep是什么??在GoLang中作用是什么
  • Unity 从零开始的框架搭建1-7 FSM有限状态机与其应用示例
  • 自动生成树形目录结构:与 `el-tree` 和滚动定位结合的完整解决方案
  • WordPress系统获取webshell的攻略
  • 请为下面的html添加一个修改按钮,以便对书名、价格进行修改
  • 【FastGPT】利用知识库创建AI智能助手
  • C++动态库中的静态调用和动态调用,延迟加载
  • 再学:ERC721扩展、ERC1155、SBT,OpenSeaNFT市场 NFT Market 习题讲解
  • Multisim学习-01 特点安装使用和第一个仿真实例
  • 智慧人大系统(源码+文档+讲解+演示)
  • [极客大挑战 2019]Upload_3.19BUUCTF练习day3(2)
  • 《信息系统安全》(第一次上机实验报告)
  • 虚拟机如何扩容磁盘
  • PHP实现用户登录与注册功能
  • ruoyi 小程序使用笔记
  • 第四周日志-用网络请求理解bp(2)