8、 寻路网格体和Gameplay调试器

为了及时识别出AI系统中的导航问题,UE4提供了一个工具用来解决这类问题,它叫Gameplay调试器。打开项目设置,在左侧找到“引擎”,然后找到“Gameplay debugger”。查看“输入分段”,检查激活键有没有绑定。记住绑定的键盘键,然后播放游戏,通过快捷键打开“Gameplay debugger”,然后看向AI所在的位置,在屏幕上会出现许多信息并在不断更新。按“shift+F1”会出现光标,点击暂停,我们可以仔细看显示的参数。在左上方,我们可以看到一个列表,提示我们可以按哪些键来显示Gameplay调试器中的各种功能,它可以告诉我们Gameplay调试器绑定了哪个键。表下面是调试器最重要的几个功能,导航网格体、AI、行为树、EQS和感知。继续播放,按“Tab”键可以进入旁观者模式。

其中,数字键0对应着左上角信息中导航网格体信息的展示或关闭,数字键1对应着AI相关的信息,数字键2对应着行为树信息。

9、AI感知原理

在本模块中,我们将对AI感知系统一探究竟,了解如何将它们整合到AI中,以及系统中的各个部分如何帮助AI感知整个环境。我们还将了解这些部分如何通过蓝图代码传递它们的信息。

虚幻引擎提供了一个AI感知系统,它能控制Actor的感知内容和能够感知到的场景区域。AI感知系统中有两个关键组件,分别是AI感知组件和AI感知刺激源。AI感知刺激源组件将决定Actor拥有哪些“可感知”属性,而AI感知组件则决定哪些感官可以使用或者被感知到。  AI感知组件这个组件允许我们设置感知系统可以使用哪些感官或“看到”哪些内容。同一个组件中可以添加多种感官。此外,在确定被感知Actor的位置时,你可以通过“主导感官”属性指定优先使用哪种感官进行感知。例如,在视频游戏中,你可能会希望“视觉”优先于“听觉”。

AI感知刺激源:为Actor添加这个组件将决定AI感知系统会注册哪些感官。例如,假如你将某个AI感知刺激源设置为只对视觉产生刺激,那么拥有视觉感官的AI就会感知到这个刺激源Actor。单个组件可以注册多个刺激。

事件和刺激:在确定了场景中会生成哪些Actor作为刺激源后,AI就需要针对这些信息进行思考,并考虑基于它们感知到的信息可能要采取哪些行动。为此,你需要使用On Target Perception Updated事件。这个事件会通过AIStimulus结构体为我们提供有关被感知刺激源的实用信息。此外在项目中,你还会找到许多其他有用的感知事件。你可以在AI感知文档页面中找到这些事件的详细列表。其地址是:“https://docs.unrealengine.com/en-US/Engine/ArtificialIntelligence/AIPerception/index.html”。

AI的感知方式:1、确认来源和刺激源:为了让AI感知到对象,场景中的对象需要添加刺激源组件。2、为了让AI角色感知到刺激,我们腰围AI添加一个AI感知组件。如果某个Actor要成为刺激源,它就必须被赋予一个AI感知刺激源组件。3、感知刺激:如果我们在玩家的AI感知组件中添加“视觉”感官,那么当AI角色看到玩家角色时,它就会检查AI感知组件。如果玩家角色拥有可以被感知的刺激,并且该刺激在AI感知组件中是有效的,那么玩家就会触发AI角色中的On Target Perception Updated事件。

UE4蓝图AI角色制作(四)之Gameplay调试器的更多相关文章

  1. UE4蓝图AI角色制作(三)

    接上一节 6. 寻路网格体代理 通过允许配置多个"代理",虚幻引擎使得用户能够轻松为大小各异的AI创建寻路网格体.首先,选中世界大纲视图中的"RecastNavMesh& ...

  2. UE4蓝图AI角色制作(七)之追逐玩家

    15.追逐玩家 现在我们的AI无法做出任何决策,它总是执行相同的决策.我们先把感知系统中的相关信息提供给AI,让AI知道如何做出决策,然后我们会修改行为树.我们首先需要创建新的黑板键,这样我们就能在行 ...

  3. UE4蓝图AI角色制作(六)之行为树

    13.行为树原理 AI最重要的环节就是行为树.我们将解释什么是行为树.为何它如此重要,以及构建行为树需要哪些元素. 借助行为树,我们可以轻松控制并显示AI的决策制定过程.行为树是一种将AI在场景中的决 ...

  4. 【摸鱼向】UE4的AI模块探索手记(1)

    前言 之前实现了自主创作的角色导入进UE4并成功控制其进行一系列动作,但目前的样子距离基本的游戏架构还差了一个很大的模块:NPC,而这部分是由电脑来进行自动控制,所以,我有一句话不知当讲不当讲(对,我 ...

  5. UE4简单AI

    首先做个小小的声明把,由于俺之前也没接触过AI ,所以有一些专业的词汇可能翻译存在各种问题,如果你发现的话,还是希望能够提出来哦,我们一起进步. 记住配合视频食用更佳哦~ 视频连接:http://ww ...

  6. UE4蓝图与C++交互——射击游戏中多武器系统的实现

    回顾   学习UE4已有近2周的时间,跟着数天学院"UE4游戏开发"课程的学习,已经完成了UE4蓝图方面比较基础性的学习.通过UE4蓝图的开发,我实现了类似CS的单人版射击游戏,效 ...

  7. UE4蓝图编程的第一步

    认识UE4蓝图中颜色与变量类型: UE4中各个颜色对应着不同的变量,连接点和连线的颜色都在表示此处是什么类型的变量.对于初学者来说一开始看到那么多连接点, 可能会很茫然,搞不清还怎么连,如果知道了颜色 ...

  8. UE4的AI学习(2)——官方案例实例分析

    官方给出的AI实例是实现一个跟随着玩家跑的AI,当玩家没有在AI视野里时,它会继续跑到最后看到玩家的地点,等待几秒后如果仍然看不到玩家,则跑回初始地点.官方的案例已经讲得比较详细,对于一些具体的函数调 ...

  9. [UE4]让AI跑起来

    让AI由静止状态变成跑步状态,做法跟玩家角色走路一样. 一.创建1D混合动画 二.在AI角色关联的动画蓝图中使用第一步创建的混合动画

随机推荐

  1. Nginx使用Lua模块实现WAF

    前言:最近一段时间在写加密数据功能,对安全相关知识还是缺少积累,无意间接触到了WAF相关知识,刚好Nginx可以实现WAF功能,也简单学习了Lua这门语言,分享下 一.WAF产生的背景 过去企业通常会 ...

  2. sizeof关键字

    sizeof关键字 sizeof不是函数,所以不需要包含任何头文件,它的功能是计算一个数据类型的大小,单位为字节 sizeof的返回值为size_t size_t类型在32位操作系统下是unsigne ...

  3. Reinforcement Learning 强化学习入门

    https://www.zhihu.com/question/277325426 https://github.com/jinglescode/reinforcement-learning-tic-t ...

  4. skynet 开启 https 配置

    修改 Makefile Mac 下: # https : turn on TLS_MODULE to add https support TLS_MODULE=ltls TLS_LIB="$ ...

  5. Django图片上传和前端展示

    1 - 模型 class Book(models.Model): #定义图书模型 book_name = models.CharField(max_length=100,verbose_name='书 ...

  6. MongoDB(15)- 查询操作里面的游标 cursor

    db.collection.find() 方法里面的游标 该方法最后会返回一个 cursor 正常情况下,访问文档必须迭代游标 重点事项 当调用 find() 函数时,Shell 并不立即查询数据库, ...

  7. 论文解读(PCL)《Prototypical Contrastive Learning of Unsupervised Representations》

    论文标题:Prototypical Contrastive Learning of Unsupervised Representations 论文方向:图像领域,提出原型对比学习,效果远超MoCo和S ...

  8. BF算法(串模式匹配算法)

    主串和子串 主串与子串:如果串 A(如 "shujujiegou")中包含有串 B(如 "ju"),则称串 A 为主串,串 B 为子串.主串与子串之间的关系可简 ...

  9. 【C++基础教程】第五课

    上次的作业答案,非常简单. 第一题: 我们需要知道,字符(char类型)在计算机中存储的时候,是把这个字符对应的代码(专业术语叫做编码)进行存储.例如,换行符'\n'的代码就是10,'0'对应的代码就 ...

  10. PHP中的垃圾回收相关函数

    之前我们已经学习过 PHP 中的引用计数以及垃圾回收机制的概念.这些内容非常偏理论,也是非常常见的面试内容.而今天介绍的则是具体的关于垃圾回收的一些功能函数.关于之前的两篇介绍文章,大家可以到文章底部 ...