【UE】简单的警觉系统

news2024/11/10 13:01:59

效果

步骤

1. 新建一个空白工程,添加第三人称游戏内容包

2. 打开第三人称角色蓝图“BP_ThirdPersonCharacter”

选中弹簧臂组件,将目标臂长度设置为600,z轴方向的插槽偏移设置为100

3. 将“BP_ThirdPersonCharacter”移入场景,该角色用于表示玩家控制的角色

设置自动控制玩家为玩家0

4. 复制一份“BP_ThirdPersonCharacter”,这里命名为“BP_AI”

打开“BP_AI”,将事件图表中的所有节点删除

再删除弹簧臂和摄像机组件

选中网格体组件,在细节面板中点击搜索骨骼网格体资产

复制一份骨骼网格体“SKM_Quinn_Simple”

打开复制后的“SKM_Quinn_Simple1”,点击在内容浏览器中搜索材质实例“MI_Quinn_01”

我们分别复制一下“MI_Quinn_01”和“MI_Quinn_02”

打开材质实例“MI_Quinn_01_Copy”,更改一下参数“Tint”的颜色

再打开材质实例“MI_Quinn_02_Copy”,同样修改一下参数“Tint”的颜色

在骨骼网格体“SKM_Quinn_Simple1”中,修改材质插槽元素

5. 回到蓝图“BP_AI”中,修改骨骼网格体资产为“SKM_Quinn_Simple1”

选中角色移动组件,修改最大行走速度为200cm/s

添加一个Pawn感应组件

感应间隔设置为0.2

6. 新建一个蓝图接口,这里命名为“BPI_Detect”

添加4个函数,分别表示开始侦测、停止侦测、开始追逐、停止追逐

给函数“StartDetection”添加一个输入,命名为“Character”,变量类型为角色的对象引用

7. 新建一个控件蓝图,这里命名为“WBP_Detect”

打开“WBP_Detect”,添加一个画布面板和一个进度条控件,重命名进度条控件为“ProgressBar_Detect”

修改进度条控件的锚点、位置、尺寸、对齐、百分比、条填充类型、填充颜色和不透明度、可视性等属性

8. 打开“BP_AI”,在类设置中,添加蓝图接口“BPI_Detect”

选中Pawn感应组件,添加“看见Pawn上”事件

鼠标双击接口“StartChase”和“StopChase”

添加一个布尔类型变量,命名为“IsChase”,表示AI是否应该去追逐玩家

在事件图表中添加如下节点

9. 打开第三人称角色蓝图“BP_ThirdPersonCharacter”,在事件图表中添加创建控件蓝图的逻辑

在类设置中,再次添加蓝图接口“BPI_Detect”

双击创建接口事件“StartDetection”和“StopDetection”

完整逻辑如下

10. 向场景中放置玩家、AI和一堵墙

此时运行效果如下所示,可以看到此时玩家出现在AI视野中的时候,视口中就会出现代表侦测程度的进度条,随着AI侦测时间的增加进度条的百分比也会增加

为了实现AI侦测到玩家的存在时,AI向着玩家的位置移动的功能,需要向场景中添加导航网格体边界

调整导航网格体边界的缩放范围,按P键显示范围

此时效果如下所示

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1271766.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

学习笔记三十六:通过Ingress-nginx实现灰度发布

通过Ingress-nginx实现灰度发布 灰度发布原理将新版本灰度给部分用户切一定比例的流量给新版本 部署两个版本的服务以 nginx 为例,先部署一个 v1 版本:部署一个 v2 版本再创建一个 Ingress,对外暴露服务,指向 v1 版本的服务:访问验证 基于 He…

C语言——多种方式打印出1000之内的所有的“水仙花数”

所谓水仙花数,是指一个3位数,其各位数字立方和等于该数本身。水仙花数是指一个三位数&#xff0c;它的每个位上的数字的立方和等于它本身。例如&#xff0c;153是一个水仙花数&#xff0c;因为1^3 5^3 3^3 153。 方法一 #define _CRT_SECURE_NO_WARNINGS 1#include <std…

git报错invalid object xxx和unable to read tree xxxxxx

电脑出问题了&#xff0c;导致git仓库像是被损坏了一样&#xff0c;执行git status就会报错unable to read ree&#xff0c;无法正常提交代码至仓库&#xff0c;原因是本地代码仓库.git文件损坏了&#xff0c;无法找到正确的提交历史和路径。 找到了一个解决办法&#xff1a; …

TSINGSEE青犀AI视频智能分析系统的视频接入能力解析

视频智能分析技术是一种先进的人工智能技术&#xff0c;它能够对视频内容进行自动化的分析和理解。这种技术的主要特点包括实时性、自动化、准确性、可解释性等。 1&#xff09;实时性。视频智能分析技术能够在短时间内对大量的视频数据进行快速处理和分析&#xff0c;从而提供…

精彩回顾|迪捷软件先进装备软件技术研讨会之行圆满收官

2023年11月24日&#xff0c;为期3个月的先进装备软件高安全、高可靠、智能化验证技术系列研讨会在成都圆满收官。迪捷软件董事长康烁作为研讨会特邀专家&#xff0c;在西安、上海、成都站进行了演讲分享。 以航空航天、船舶、电力电子、汽车、医疗为代表的先进装备软件发展迅速…

英国人工智能初创公司Stability AI面临卖身压力;深度学习中的检索增强生成简介

&#x1f989; AI新闻 &#x1f680; 英国人工智能初创公司Stability AI面临卖身压力 摘要&#xff1a;多位知情人士透露&#xff0c;英国人工智能初创公司Stability AI正寻求出售公司&#xff0c;因为投资者对其财务状况的压力越来越大。管理层最近几周一直将自己标榜为收购…

如何创建曼达洛人风格的照片效果

如何把一个普通的头盔变成一个以曼达洛人为灵感的头盔&#xff1b;如何使用一个场景创建戏剧性的天空效果 1. 如何在 Photoshop 中创建戏剧性的天空 步骤 1 我们将从拼凑我们的天空开始&#xff0c;专注于创造日落和繁星点点的夜空的完美融合。我将使用这张照片作为基地。 步…

Linux:进程状态

目录 1.Linux内核关于进程状态的源代码 2. 运行状态 3. 阻塞状态 4. 挂起 5.Linux中的进程状态 5.1 睡眠状态 5.2 暂停状态 5.3 僵尸进程与孤儿进程 我们在学习进程状态时&#xff0c;老师只是简单的让我们记住下面这张图 1.教材中进程操作系统的进程状态 那么这些…

threeJs引入模型使用3D模型(vite+React+Ts)

要在 Three.js 中使用 3D 模型&#xff0c;你需要加载模型文件并将其添加到场景中。Three.js 支持多种不同的模型格式&#xff0c;比如 OBJ、FBX、GLTF 等。 init vitelatest //创建一个vite的脚手架 选择react并配置Ts 安装three.js准备 npm install react-three/drei np…

信号类型(通信)——高斯最小频率键控(GMSK)

系列文章目录 《信号类型&#xff08;通信&#xff09;——仿真》 《信号类型&#xff08;通信&#xff09;——QAM调制信号》 《信号类型&#xff08;通信&#xff09;——QPSK、OQPSK、IJF_OQPSK调制信号》 《信号类型&#xff08;通信&#xff09;——最小频移键控&…

4.6-容器的端口映射

首先&#xff0c;我们来拉取Nginx的image镜像。 docker pull nginx 接下来我们创建一个Nginx的容器。 docker run --name nginx -d nginx 但是&#xff0c;这样启动nginx容器的话我们没法访问。这个时候怎么办呢&#xff1f;就需要将Nginx这个服务暴露给外面的世界。 这时可以使…

Docker本地部署Firefox火狐浏览器并远程访问

&#x1f525;博客主页&#xff1a; 小羊失眠啦. &#x1f3a5;系列专栏&#xff1a;《C语言》 《数据结构》 《Linux》《Cpolar》 ❤️感谢大家点赞&#x1f44d;收藏⭐评论✍️ 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;…

【JavaEE初阶】 详解HTTPS协议加密过程

文章目录 &#x1f334;HTTPS协议是什么&#xff1f;&#x1f384;运营商劫持事件&#x1f38b;HTTPS的工作过程&#x1f6a9;对称加密&#x1f6a9;非对称加密&#x1f6a9;引入证书&#x1f6a9;完整流程 &#x1f333;HTTPS加密总结⭕总结 &#x1f334;HTTPS协议是什么&…

2023年掌控安全学院CTF暖冬杯——数据流分析

前言&#xff1a;打工仔一枚&#xff0c;第一波上新的3题misc 做完了 再打ISCTF随便记录一下 PS&#xff1a;环境关了&#xff0c;题目描述忘记了&#xff0c;反正就是找flag。 筛选HTTP数据流 导出数据流慢慢看 ctrl F 搜flag 看到一条 有flag.txt 的数据 导出另存.zip 这里…

Jmeter之压力测试总结!

一、基本概念 1.线程组N&#xff1a;代表一定数量的并发用户&#xff0c;所谓并发就是指同一时刻访问发送请求的用户。线程组就是模拟并发用户访问。 2.Ramp-Up Period(in seconds)&#xff1a;建立所有线程的周期&#xff0c;就是告诉jmeter要在多久没启动所有线程&#xff…

基数排序及利用数组简化解题

红豆不堪看&#xff0c;满眼相思泪 本文主要是帮助大家熟练掌握利用数组进行有关判断的题目&#xff0c;看完本文后在之后的刷题中都可以利用这种思想&#xff0c;当然举例中的题目利用该种方法可能不是最优解&#xff0c;但绝对是你看到题目不用思考太多就可以做出来的方法&am…

ESP32单片机案例

工具&#xff1a;VScode PlatformIO IDE 注&#xff1a;B站视频学习笔记。 1、继电器 1&#xff09;硬件电路 2&#xff09;程序 #include <Arduino.h> #define RELAY_PIN 15//初始化定时器 hw_timer_t *timer NULL;void timer_interrupt(){digitalWrite(RELAY_PIN…

文件中找TopK问题

目录 1.解题思路2.创建一个文件并在文件中写入数据3.为什么要建立小堆而不建立大堆&#xff1f;4.如何在现有的数据中建立适合的大堆&#xff1f;5.代码实现 1.解题思路 TopK问题即是在众多数据中找出前K大的值&#xff0c;则可以根据堆的性质来实现&#xff0c;但在使用堆之前…

敌手觊觎,核心研发项目源代码安全不可忽视!立即了解迅软DSE防泄密良策!

源代码作为企业的知识产权之一&#xff0c;也是企业的重要商业秘密&#xff0c;如果不慎被泄露可能会被竞争对手利用&#xff0c;对企业的业务和安全带来威胁以及不必要的法律风险。面对层出不穷的泄密事件&#xff0c;相关人员更应该提高对源代码的保护意识&#xff0c;加强企…

K歌利器-无线K歌麦克风模组-投影K歌解决方案

麦克风K歌模组是一种用于改善音频质量的麦克风系统&#xff1b;其发展可以追溯到20世纪50年代&#xff0c;如今&#xff0c;麦克风模组的技术发展已经非常成熟&#xff0c;可以提供更为优质的音频质量&#xff1b;支持多种不同的连接方式&#xff1b;可以在不同的设备上使用。 …