【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范围内就停止移动

相关文章:
【UE5.1】NPC人工智能——02 NPC移动到指定位置
效果 步骤 1. 新建一个蓝图,父类选择“AI控制器” 这里命名为“BP_NPC_AIController”,表示专门用于控制NPC的AI控制器 2. 找到我们之前创建的所有NPC的父类“BP_NPC” 打开“BP_NPC”,在类默认值中,将“AI控制器类”一项设置为“…...
有关电力电子技术的一些相关仿真和分析:⑤交-直-交全桥逆变+全波整流结构电路(MATLAB/Siumlink仿真)
全桥逆变+全波整流结构 参数:Vin=500V, Vo=200V, T=2:1:1, RL=10Ω, fs=100kHz, L=1mH, C=100uF (1)给定输入电压,输出电压和主电路参数,仿真研究电路工作原理,分析工作时序; (2)调节负载电阻,实现电流连续和断续,并仿真验证; (3)调节占空比,分析占空比与电…...
记录一次Android推流、录像踩坑过程
背景: 按照需求,需要支持APP在手机息屏时进行推流、录像。 技术要点: 1、手机在息屏时能够打开camera获取预览数据 2、获取预览数据时进行编码以及合成视频 一、息屏时获取camera预览数据: ①Camera.setPreviewDisplay(SurfaceH…...
VsCode 与远程服务器 ssh免密登录
首先配置信息 加入下列信息 Host qb-zn HostName 8.1xxx.2xx.3xx User root ForwardAgent yes Port 22 IdentityFile ~/.ssh/id_rsa 找到自己的公钥,不带pub是私钥,打死都不能给别人。复制公钥 拿到公钥后,来到远程服务器 vim ~/.ss…...
7/13 - 7/15
vo.setId(rs.getLong("id"))什么意思? vo.setId(rs.getLong("id")); 这行代码是在Java中使用ResultSet对象(通常用于从数据库中检索数据)获取一个名为"id"的列,并将其作为long类型设置为一个对象…...
烟雾监测与太阳能源:实验装置在其中的作用
太阳光在烟雾中的散射效应研究实验装置是一款模拟阳光透过烟雾环境的设备。此装置能帮助探究阳光在烟雾中的传播特性、散射特性及其对阳光的影响。 该装置主要包括光源单元、烟雾发生装置、光学组件、以及系统。光源单元负责产生类似于太阳光的光线,通常选用高亮度的…...
QT下,如何获取控制台输入
最近工作中为了测试某个模块,需要把原先输入模块部分,改成控制台输入来方便测试。在QT中,我们可以使用 QTextStream 类来读取用户的输入来达到目的。下面是一个简单的例子: #include <QCoreApplication> #include <QTex…...
mybatis动态传入参数 pgsql 日期 Interval ,day,minute
mybatis动态传入参数 pgsql 日期 Interval 在navicat中,标准写法 SELECT * FROM test WHERE time > (NOW() - INTERVAL 5 day)在mybatis中,错误写法 SELECT * FROM test WHERE time > (NOW() - INTERVAL#{numbers,jdbcTypeINTEGER} day)报错内…...
常见CSS属性
常见CSS属性。 1. display: 定义:display 属性控制元素如何渲染在文档流中,影响了元素是否占用空间、位置及盒子模型的行为。 使用说明:它可以设置为如block, inline, inline-block, flex, grid, none等值,用于决定元素显示模式…...
WSL-Ubuntu20.04训练环境配置
1.YOLOv8训练环境配置 训练环境配置的话就仍然以YOLOv8为例,来说明如何配置深度学习训练环境。这部分内容比较简单,主要是安装miniAnaconda以及安装torch和torchvision. 首先是miniAnaconda的安装(参考官网的教程Miniconda — Anaconda ),执行…...
运维检查:mysql表自增id是否快要用完
数据库表中最大自增ID用完会报错。判断是否接近或达到自增ID类型的最大值: 对于MySQL中的自增ID,如果使用的是int类型,其无符号(unsigned)的最大值可以达到2^32 - 1,即4294967295。如果使用的…...
深入理解FFmpeg--libavformat接口使用(一)
libavformat(lavf)是一个用于处理各种媒体容器格式的库。它的主要两个目的是去复用(即将媒体文件拆分为组件流)和复用的反向过程(以指定的容器格式写入提供的数据)。它还有一个I/O模块,支持多种…...
坚持日更的意义何在?
概述 日更,就是每天更新一次或一篇文章。 坚持日更,就是坚持每天更新一次或一篇文章。 这里用了坚持,实际上不是恰当的表述,正确的感觉应该是让日更当作习惯,然后,让自己习惯每天去更新一篇文章。 日更…...
内容长度不同的div如何自动对齐展示
平时我们经常会遇到页面内容div结构相同页,这时为了美观我们会希望div会对齐展示,但当div里的文字长度不一时又不想写固定高度,就会出现div长度长长短短,此时实现样式可以这样写: .e-commerce-Wrap {display: flex;fle…...
Qt中https的使用,报错TLS initialization failed和不能打开ssl.lib问题解决
前言 在现代应用程序中,安全地传输数据变得越来越重要。Qt提供了一套完整的网络API来支持HTTP和HTTPS通信。然而,在实际开发过程中,开发者可能会遇到SSL相关的错误,例如“TLS initialization failed”,cantt open ssl…...
P2p网络性能测度及监测系统模型
P2p网络性能测度及监测系统模型 网络IP性能参数 IP包传输时延时延变化误差率丢失率虚假率吞吐量可用性连接性测度单向延迟测度单向分组丢失测度往返延迟测度 OSI中的位置-> 网络层 用途 面相业务的网络分布式计算网络游戏IP软件电话流媒体分发多媒体通信 业务质量 通过…...
zookeeper相关总结
1. ZooKeeper 的架构 ZooKeeper 采用主从架构(Leader-Follower 模型),包括以下组件: Leader:负责处理所有写请求和协调事务一致性。Follower:处理读请求并转发写请求给 Leader。参与 Leader 选举和事务提…...
【openwrt】Openwrt系统新增普通用户指南
文章目录 1 如何新增普通用户2 如何以普通用户权限运行服务3 普通用户如何访问root账户的ubus服务4 其他权限控制5 参考 Openwrt系统在默认情况下只提供一个 root账户,所有的服务都是以 root权限运行的,包括 WebUI也是通过root账户访问的,…...
【GD32】从零开始学GD32单片机 | WDGT看门狗定时器+独立看门狗和窗口看门狗例程(GD32F470ZGT6)
1. 简介 看门狗从本质上来说也是一个定时器,它是用来监测硬件或软件的故障的;它的工作原理大概就是开启后内部定时器会按照设置的频率更新,在程序运行过程中我们需不断地重装载看门狗,以使它不溢出;如果硬件或软件发生…...
详解曼达拉升级:如何用网络拓扑结构扩容BSV区块链
发表时间:2024年5月24日 BSV曼达拉升级是对BSV基础设施的战略性重塑,意在显著增强其性能,运行效率和可扩容。该概念于2018年提出,其战略落地将使BSV区块链顺利过渡,从现有的基于单一集成功能组件的网络拓扑结构&am…...
C++:std::is_convertible
C++标志库中提供is_convertible,可以测试一种类型是否可以转换为另一只类型: template <class From, class To> struct is_convertible; 使用举例: #include <iostream> #include <string>using namespace std;struct A { }; struct B : A { };int main…...
【Java学习笔记】Arrays类
Arrays 类 1. 导入包:import java.util.Arrays 2. 常用方法一览表 方法描述Arrays.toString()返回数组的字符串形式Arrays.sort()排序(自然排序和定制排序)Arrays.binarySearch()通过二分搜索法进行查找(前提:数组是…...
学校招生小程序源码介绍
基于ThinkPHPFastAdminUniApp开发的学校招生小程序源码,专为学校招生场景量身打造,功能实用且操作便捷。 从技术架构来看,ThinkPHP提供稳定可靠的后台服务,FastAdmin加速开发流程,UniApp则保障小程序在多端有良好的兼…...
什么是库存周转?如何用进销存系统提高库存周转率?
你可能听说过这样一句话: “利润不是赚出来的,是管出来的。” 尤其是在制造业、批发零售、电商这类“货堆成山”的行业,很多企业看着销售不错,账上却没钱、利润也不见了,一翻库存才发现: 一堆卖不动的旧货…...
Qwen3-Embedding-0.6B深度解析:多语言语义检索的轻量级利器
第一章 引言:语义表示的新时代挑战与Qwen3的破局之路 1.1 文本嵌入的核心价值与技术演进 在人工智能领域,文本嵌入技术如同连接自然语言与机器理解的“神经突触”——它将人类语言转化为计算机可计算的语义向量,支撑着搜索引擎、推荐系统、…...
Spring AI与Spring Modulith核心技术解析
Spring AI核心架构解析 Spring AI(https://spring.io/projects/spring-ai)作为Spring生态中的AI集成框架,其核心设计理念是通过模块化架构降低AI应用的开发复杂度。与Python生态中的LangChain/LlamaIndex等工具类似,但特别为多语…...
精益数据分析(97/126):邮件营销与用户参与度的关键指标优化指南
精益数据分析(97/126):邮件营销与用户参与度的关键指标优化指南 在数字化营销时代,邮件列表效度、用户参与度和网站性能等指标往往决定着创业公司的增长成败。今天,我们将深入解析邮件打开率、网站可用性、页面参与时…...
基于matlab策略迭代和值迭代法的动态规划
经典的基于策略迭代和值迭代法的动态规划matlab代码,实现机器人的最优运输 Dynamic-Programming-master/Environment.pdf , 104724 Dynamic-Programming-master/README.md , 506 Dynamic-Programming-master/generalizedPolicyIteration.m , 1970 Dynamic-Programm…...
七、数据库的完整性
七、数据库的完整性 主要内容 7.1 数据库的完整性概述 7.2 实体完整性 7.3 参照完整性 7.4 用户定义的完整性 7.5 触发器 7.6 SQL Server中数据库完整性的实现 7.7 小结 7.1 数据库的完整性概述 数据库完整性的含义 正确性 指数据的合法性 有效性 指数据是否属于所定…...
苹果AI眼镜:从“工具”到“社交姿态”的范式革命——重新定义AI交互入口的未来机会
在2025年的AI硬件浪潮中,苹果AI眼镜(Apple Glasses)正在引发一场关于“人机交互形态”的深度思考。它并非简单地替代AirPods或Apple Watch,而是开辟了一个全新的、日常可接受的AI入口。其核心价值不在于功能的堆叠,而在于如何通过形态设计打破社交壁垒,成为用户“全天佩戴…...
