【UE】简单的警觉系统

效果

步骤

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.hqwc.cn/news/234041.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Glove学习笔记

global vectors for word representation B站学习视频 1、LSA与word2vec 我们用我们的见解,构建一个新的模型,Glove,全局向量的词表示,因为这个模型捕捉到全局预料的统计信息。 LSA:全局矩阵分解word2vec:局部上下文…

Flat Ads将携6亿独家流量亮相白鲸GTC2023,在7V01展台等你

一年一度的白鲸出海全球流量大会GTC重磅来袭!今年GTC出海展区全面升级,规模扩增至15000平方米,覆盖游戏、应用、技术及品牌出海等热门行业,预计将迎来累计超30000名跨境出海相关从业者莅临参观。 Flat Ads受邀设展,现场互动100%中奖 从出海到全球化,中国互联网企业走向海外寻…

深度学习大数据物流平台 python 计算机竞赛

文章目录 0 前言1 课题背景2 物流大数据平台的架构与设计3 智能车货匹配推荐算法的实现**1\. 问题陈述****2\. 算法模型**3\. 模型构建总览 **4 司机标签体系的搭建及算法****1\. 冷启动**2\. LSTM多标签模型算法 5 货运价格预测6 总结7 部分核心代码8 最后 0 前言 &#x1f5…

[个人笔记] Zabbix实现Webhook推送markdown文本

系统工程 - 运维篇 第四章 Zabbix实现Webhook推送markdown文本 系统工程 - 运维篇系列文章回顾Zabbix实现Webhook推送markdown文本前言实施步骤 Zabbix新增报警媒介类型Zabbix给用户新增报警媒介Zabbix修改动作的执行操作和恢复操作验证&测试 参考来源 系列文章回顾 第一章…

就是说,还有行政人不知道这个神器吗

救命,还有行政人不知道它的吗??再不用真的亏大了啊!!用它写东西再也不用愁了 这东西写啥都可以,只有输入需求马上就写好了啊,什么工作总结,活动策划方案,会议纪要啥啥都…

Vue3生命周期函数(简述题)

1.图示 2.说明 3.补充 1.在vue3组合式API中,我们需要将生命周期函数先导入,然后才能使用。 import {onMounted} from vue2.beforeCreate和created被setup()方法所代替

“逆风飞翔·事实孤儿同行计划”成长陪伴主题区域陪伴培训会

为推进各机构更好地开展事实孤儿成长陪伴工作,促进事实孤儿成长陪伴实施成效,搭建各机构间事实孤儿成长陪伴方式方法交流平台。11月26日,在中国乡村发展基金会、中国民生银行的支持下,由湖南省大爱无疆青少年公益发展中心主办&…

小程序:让你轻松解决生活琐事!

随着科技的发展,小程序已经逐渐深入人们的生活,无论是去水印等功能类的小工具、打发时间的休闲小游戏类的小程序,还是提供视频和音乐的服务类的小程序等等,都在我们的生活之中占据了一席之地。 为什么越来越多的人选择了小程序呢…

PHP:js中怎么使用PHP变量,php变量为数组时的处理

方法一&#xff1a;使用内嵌 PHP 脚本标记 1、简单的拼接 使用内嵌的 PHP 脚本标记 <?php ?> 将 PHP 变量 $phpVariable 的值嵌入到 JavaScript 代码中。 <?php $phpVariable "Hello, World!"; ?><script> // 将 PHP 变量的值传递给 JavaS…

【产品功能】dolphinscheduler怎么修改,实现超时就结束掉当前工作流

超时就结束工作流 代码 代码 MasterExecThread类 的 runProcess方法 里面有超时告警&#xff0c;原本里面只有超时告警的&#xff0c;这时候我只要加上海豚自己写好的结束任务的方法endProcess&#xff08;&#xff09;方法

分享86个简历竞聘PPT,总有一款适合您

分享86个简历竞聘PPT&#xff0c;总有一款适合您 86个简历竞聘PPT下载链接&#xff1a;https://pan.baidu.com/s/130iX0EIH6J-PFzb6HcntcQ?pwd8888 提取码&#xff1a;8888 Python采集代码下载链接&#xff1a;采集代码.zip - 蓝奏云 学习知识费力气&#xff0c;收集整…

系统部署安装-Centos7-Cassandra

文章目录 介绍安装在线下载安装启动普通启动注册服务 介绍 Apache Cassandra是一个高度可扩展的高性能分布式数据库&#xff0c;旨在处理许多商用服务器上的大量数据&#xff0c;提供高可用性而没有单点故障。 安装 在线下载 &#xff08;1&#xff09;使用weget下载最新的…