接上一节

6、 寻路网格体代理

通过允许配置多个“代理”,虚幻引擎使得用户能够轻松为大小各异的AI创建寻路网格体。首先,选中世界大纲视图中的“RecastNavMesh”,找到细节面板中的“生成”分段,如下图所示。这里的几个选项都与代理相关,分别是“代理半径”(Agent radius)、“代理高度”、“代理最大高度”、“代理最大斜面”和“代理最大步高”。默认的代理半径是35,而这个值应该和AI宽度相同。代理高度应该和AI高度相同。

在项目设置中,有一个选项循序我们添加多种类型的代理,并且每一种都能定义不同的参数。首先打开项目设置,然后找到“引擎-导航系统”,如下图所示,在最底层有一个“agent”分段,其中一个选项是“支持的代理”,它实际上是一个数组,我们可以向里面添加一些元素,每个元素都包括“代理半径”(Agent radius)、“代理高度”、跳、游泳等选项,我们能够为不同的AI设置不同的代理,配置不同的导航网格体。

7、 寻路网格体

创建完寻路网格体后,我们将为AI角色蓝图添加功能,让AI随机移动到附近某个位置,等待片刻,然后移动到另一个位置,循环往复。首先,要在角色蓝图中新建一个自定义事件,并让它包含随机漫游逻辑,然后使用另一个函数在游戏运行中时反复调用自定义事件。

首先在内容浏览器中打开AI蓝图,在事件图表中,右击并搜索“自定义事件”,将新的自定义事件命名为“random wander”.

拖动这个自定义事件的执行引脚,然后搜索“simple move to location”,添加到图表中,其需要两个参数,一个是角色使用的控制器,一个是以向量表示的目标位置。先设置角色使用的控制器,右击搜索“get conroller”,点击后连接至自定义事件;接下来右击搜索“get random reachable point in radius”,点击应用。这个函数有许多参数,我们只用其中部分。其中,“orgin”表示它移动的起点,“radius”定义了起点周围的移动距离。在这里,我们的起点就是第三人称AI的起点位置,我们可以使用“get actor location”函数,右击搜索得到该函数,默认下,该函数返回值就是当前目标的位置,并将其连接到“orgin”。然后根据自己需求设置半径“radius”。然后将“get random reachable point in radius”连接到“simple move to location”的“goal”中。现在,我们的随机漫游事件就完成了。

接下来需要再创建一个事件·来调用它,否则它不会自动运行。右键找到“beginplay”,拖动“beginplay”的引脚,然后搜索输入“set timer by event”。关于这个函数,首先需要告诉它触发哪个事件。为此,我们可以将“random wander”事件的委托输出引脚,连到“set timer by event”的事件输入上。接下来,我们需要指定这个事件何时被触发,可以将时间值设置为1.5。这意味着每过1.5秒,关联的事件就会被触发。为了让它能够循环触发,勾选“set timer by event”的循环选项。“set timer by event”的返回值是一个定时器句柄结构。我们不需要使用它,因为不需要在其它地方用到定时器。这意味着我们无需设置这个输出。编译后,我们需要检测这个蓝图是否在游戏中有效。

UE4蓝图AI角色制作(三)的更多相关文章

  1. UE4蓝图AI角色制作(四)之Gameplay调试器

    8. 寻路网格体和Gameplay调试器 为了及时识别出AI系统中的导航问题,UE4提供了一个工具用来解决这类问题,它叫Gameplay调试器.打开项目设置,在左侧找到"引擎",然 ...

  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的AI学习(2)——官方案例实例分析

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

  7. UE4蓝图编程的第一步

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

  8. [UE4]让AI跑起来

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

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

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

随机推荐

  1. servlet中servletContext的五大作用(三)

    1.    获取web的上下文路径 2.    获取全局的参数 3.    作为域对象使用 4.    请求转发 5.    读取web项目的资源文件 package day10.about_serv ...

  2. VS Code 1.60 发布!竟然可以自动检测编程语言了!

    北京时间 2021 年 9 月 3 日凌晨,微软正式发布 2021 年 8 月版的 Visual Studio Code.希望您会喜欢此版本中的许多更新与改进,以下是其中的一些亮点: * 自动语言检测 ...

  3. openresty HTTP status constants nginx api for lua

    https://github.com/openresty/lua-nginx-module context: init_by_lua, set_by_lua, rewrite_by_lua, acce ...

  4. 15-SpringCloud Stream

    Stream是什么及Binder介绍 官方文档1 官方文档2 Cloud Stream中文指导手册 什么是Spring Cloud Stream? 官方定义Spring Cloud Stream是一个 ...

  5. Linux学习笔记 - Linux快捷操作及常用命令

    一.快捷键 剪切光标前的内容 Ctrl + u 剪切光标至行末的内容 Ctrl + k 粘贴 Ctrl + u 或 Ctrl +k 的内容 Ctrl + y 移动光标到行末 Ctrl + e 移动光标 ...

  6. hibernate01

    什么是hibernate ORM框架/持久层框架 jdbc的一个框架 object reference mapping 通过管理对象来改变数据库中的数据 通过管理对象来操作数据库 hibernate的 ...

  7. stat 命令家族(4)- 详解 iostat

    性能测试必备的 Linux 命令系列,可以看下面链接的文章哦 https://www.cnblogs.com/poloyy/category/1819490.html 介绍 报告 CPU 信息和 I/ ...

  8. linux常用查询命令

    1 **系统** 2 # uname -a # 查看内核/操作系统/CPU信息 3 # head -n 1 /etc/issue # 查看操作系统版本 4 # cat /proc/cpuinfo # ...

  9. CSS滤镜让图片模糊(毛玻璃效果)

    CSS代码: .blur { filter: url(blur.svg#blur); /* FireFox, Chrome, Opera */ -webkit-filter: blur(10px); ...

  10. SQL:1999基本语法

    SQL:1999基本语法 SELECT [DISTINCT] * | 列名称 [AS]别名,........ FROM 表名称1 [别名1][CROSS JOIN表名称2 别名2]| [NATURAL ...