UE4学习笔记 FPS游戏制作7 敌人的自动寻路

ops/2025/4/1 16:17:30/

添加一个敌人角色

新建一个蓝图,命名为RobotShooter,为蓝图选择敌人的骨骼mesh
新建一个动画蓝图,命名为RobotShooter_BP,添加一个idle动作,将动作设为Loop,然后为角色蓝图指定这个动画蓝图
将角色蓝图拖入场景,创建一个人物
在这里插入图片描述

自动寻路

添加一个导航体积

在这里插入图片描述
在场景里调整好导航体积的大小,确保包裹住所有需要寻路的场景,选中导航体积,按P键查看寻路范围(如果没有出现,尝试稍微移动导航体积的位置),绿色范围即为可以到达位置,再按一次P取消显示
在这里插入图片描述

AI蓝图

创建一个新的蓝图类,基类选择AIController,命名为RobotController
在这里插入图片描述
在RobotController的事件图表里添加如下节点
在这里插入图片描述
然后选择敌人的角色蓝图,选择self,将pawn属性里的AI控制器类指定为上边创建的RobotController
在这里插入图片描述
在这里插入图片描述
编译蓝图,此时运行,敌人会移动向玩家,并在到达玩家位置后停止移动

添加停止距离和持续追踪

如下修改AI蓝图,停止距离设置为两米,追踪成功时,暂停1秒再开始下次追踪
在这里插入图片描述
此外还需要把失败时也连到延迟的输入节点上,因为有时候可能敌人和玩家之间有阻碍,不能到达理想地点,此时需要重新进行寻路

添加走路动画

参考跳转来为机器人制作一个移动动画


http://www.ppmy.cn/ops/167724.html

相关文章

【操作系统安全】任务5:Windows 文件与文件系统

目录 一、引言 二、文件系统信息查看 2.1 磁盘与分区信息 2.1.1 diskpart 工具 2.1.2 wmic 查询 2.2 文件系统类型检查 2.3 文件属性查看 2.3.1 dir 命令 2.3.2 attrib 命令 三、文件系统权限配置 3.1 NTFS 权限管理 3.1.1 icacls 命令 3.1.2 特殊权限设置 3.2 所…

鸿蒙NEXT开发之开屏广告实现

1. 广告请求服务的实现 首先,你需要创建一个广告请求服务来处理广告的加载和展示。你已经在代码中实现了 requestAd 函数,接下来需要处理广告加载、显示、点击等事件。可以考虑以下结构: 1.1 创建广告加载函数 import { advertising, iden…

Oracle静默安装方法

Web服务器上面的Linux一般是不会有图形界面的,所有通过图形界面来安装Linux的方式在没有图形界面的Linux上面是行不通的,我们要使用的安装方式叫做Linux的静默安装。即在没有图形界面的Linux上面安装。 1. 下载地址 http://www.oracle.com/technetwork…

SpringSecurity配置(自定义认证过滤器)

文末有本篇文章的项目源码文件可供下载学习 在这个案例中,我们已经实现了自定义登录URI的操作,登录成功之后,我们再次访问后端中的API的时候要在请求头中携带token,此时的token是jwt字符串,我们需要将该jwt字符串进行解析,查看解析后的User对象是否处于登录状态.登录状态下,将…

C# 语法糖

三元运算符 &#xff1f;&#xff1a; 使用前 int value -2; if (value < 0) {value 0; } else {value 1; } 使用后 int value -2; value value < 0 ? 0 : 1; Null 合并操作符 &#xff1f;&#xff1f; 使用前 string value GetString(); if (value null…

边缘云原生操作系统的设计与思考

资料来源&#xff1a;火山引擎-开发者社区 边缘云行业现状和发展历程 从 06 年 AWS 推出 EC2 、S3 到今天已经过去了 18 年&#xff0c;云计算早已不是一个新鲜词汇&#xff0c;从当前业务来看&#xff0c;我们能看到云计算从中心到中心边缘的发展趋势&#xff0c;为什么会有 这…

C++内存分配方式

文章目录 1、静态内存分配2、栈内存分配3、堆内存分配4、内存池分配5、placement new语法工作原理示例 placement new应用场景 在C 中&#xff0c;内存分配主要有以下几种方式&#xff1a; 1、静态内存分配 特点&#xff1a;在编译时就确定了内存的分配和释放&#xff0c;内存…

粘包半包以及Netty的解决办法

粘包问题 粘包&#xff1a;指通信双方中的一端发送了多个数据包&#xff0c;但在另一端则被读取成了一个数据包&#xff0c;比如客户端发送123、ABC两个数据包&#xff0c;但服务端却收成的却是123ABC这一个数据包。造成这个问题的主要是因为TPC为了优化传输效率&#xff0c;将…