文章目录

  • 前言
    • 相关介绍
    • 其他介绍
    • 上一篇笔记
    • 下一篇笔记
    • 动态预览图
  • 一、AI可移动区
  • 二、AI黑板
  • 三、AI行为树
    • [1]. 创建
    • [2]. 绑定黑板
    • [3]. 序列合成节点
    • [4]. 添加自定义任务
      • (1) 变量
      • (2) 触发事件
      • (3) 传随机点的坐标值至变量
      • (4) 结束任务标识
      • (5) 获取AI坐标
      • (6) 生成随机点
      • (7) 添加任务节点至行为树
    • [5]. 添加移动任务
    • [6]. 添加等待任务
  • 四、AI控制器
  • 五、AI角色

前言

AI的随机移动,不需要导入任何的包,下方的博客是有关AI行为树、黑板等内容的概念介绍
在实现AI随机移动之前,可以先去了解相应的概念

虚幻引擎版本: 4.23.1

相关介绍

虚幻引擎4-AI基础概念

哔哩哔哩-UE4初学者系列教程-AI行为树入门全集

其他介绍

虚幻4官方文档

虚幻4中文官网

虚幻引擎蓝图API参考文档

虚幻引擎4蓝图节点-小狐狸FM

HelloCJC虚幻引擎社区

上一篇笔记

虚幻引擎(8)-射击准星

下一篇笔记

虚幻引擎(10)-切换控制权

动态预览图

一、AI可移动区

在模式的放置中搜索Nav Mesh Bounds Volume并拖动放置到地图中

调整相应的大小和位置

按下键盘的P键,绿色区域即为AI可移动的区域

二、AI黑板

在内容浏览器中创建一个黑板


打开AI黑板后,新建一个键值,这个值是用来保存AI需要移动的目标位置信息

三、AI行为树

[1]. 创建

创建一个行为树

[2]. 绑定黑板

双击打开行为树将会看见一个根节点,如果你已经创建了黑板的话,默认会帮你直接选定已创建的黑板

[3]. 序列合成节点

创建一个序列合成节点Sequence,这个节点的作用是先执行左子树,左子树执行完毕后将会按顺序执行相邻的右子树。

创建完毕后,将两者相连,Sequence节点右上角出现0,表示该节点第一个执行

[4]. 添加自定义任务

行为树中有自带一些任务,要实现自定义的功能的话得新建任务。

创建完毕后会在同目录下生成一个以BT名称开头的任务,为了方便区分就重命名了AI任务

(1) 变量

打开任务蓝图类,创建一个变量用于存储来自黑板的值

点击刚刚创建的变量,变更变量的类型为Blackboard Key Selector

将这个变量变为公有,之后的行为树调用时可以返回相应的坐标信息

(2) 触发事件

添加事件Receive Execute AI节点
当AI任务被执行时,事件Receive Execute AI节点将会被触发

(3) 传随机点的坐标值至变量

添加Set Blackboard Value as Vector节点
这个节点的作用是将位置信息传到输入接口Key对应的变量的值变为Value坐标值。

将变量拖动到蓝图中,选择获取。
然后按下图进行连接。

(4) 结束任务标识

添加Finish Execute节点
这个节点的作用是让一个任务结束,要不然在行为树中运行这个任务时将会停滞在该任务。

Success选择为ON表示运行该节点之后,将标志这个任务的完成

(5) 获取AI坐标

添加GetActorLocation节点
该节点能获取某个物体的坐标信息并输出

(6) 生成随机点

添加GetRandomPointInNavigableRadius节点
这个节点主要是用来在一个已知的圆中,生成一个随机的点并输出该点坐标

以AI的位置为圆点,以1000为半径的圆内,生成一个随机点的坐标并输出。

(7) 添加任务节点至行为树

点开之前创建的行为树,搜索刚刚创建的自定义任务并添加节点

任务节点只有一个输入接口,所以任务节点没法触发另一个任务节点。
连接完毕后右上角出现一个数字,表示该节点会第2个执行

[5]. 添加移动任务


右上角的-1表示不会被执行


[6]. 添加等待任务

如果没有添加等待任务的话,AI会一直来回地跑动不会停下来,要更好地观察AI移动的话就需要添加等待任务。

四、AI控制器

在创建AI前需要先创建一个AI Controller蓝图类

创建完毕如下图

在事件图表中,创建如下图的蓝图节点并连接
当AI控制器被调用时,将会触发事件On Possess节点,执行Run Behavior Tree节点从而调用刚刚创建的行为树。

编译保存

五、AI角色

先创建一个角色蓝图类

添加一个立方体到角色中,如果你需要用自己的模型时可以去看之前的笔记内容。
虚幻引擎4蓝图笔记(4)-角色模型导入


点击AI(自身),打开相应的细节面板

AI Controller Class中选择你刚刚创建的AI控制器,
Auto Possess AI设置成放置在场景中就会被AI控制器控制。

设置完毕后编译保存,之后你就可以直接拖动AI的角色蓝图类到场景中使用了。

虚幻引擎(9)-AI随机移动相关推荐

  1. 虚幻引擎(8)-射击准星

    文章目录 前言 相关介绍 其他介绍 上一篇笔记 下一篇笔记 蓝图预览 一.准星绘制 [1]. 创建HUD蓝图类 [2]. 触发事件 [3]. 绘制准星 (1) Draw Texture节点 (2) 选 ...

  2. 虚幻引擎(10)-切换控制权

    文章目录 前言 相关介绍 其他介绍 上一篇笔记 下一篇笔记 蓝图预览 一.角色 二.操作映射 三.关卡蓝图 [1]. 角色节点 [2]. 操作事件 [3]. 获取玩家控制器 [4]. 控制 (1) 控 ...

  3. 虚幻引擎5:从零开始的蓝图近战AI学习教程

    Unreal Engine 5: Blueprint Melee Combat AI from Scratch 创建一个动作游戏,以打击2个独特的人工智能,包括一个火蔓延龙! 你会学到什么 学习使用虚 ...

  4. 在虚幻引擎5中构建你的首款游戏 - 08 - AI控制和道具

    在虚幻引擎5中构建你的首款游戏 - 08 - AI控制和道具 前言介绍: 原版地址: << [功能亮点]在虚幻引擎5中构建你的首款游戏(官方字幕)_哔哩哔哩_bilibili >&g ...

  5. 在虚幻引擎5中构建你的首款游戏 - 10[完] - 特效音效镜头震动打包

    在虚幻引擎5中构建你的首款游戏 - 10[完] - 特效&音效&镜头震动&打包 前言介绍: 原版地址: << [功能亮点]在虚幻引擎5中构建你的首款游戏(官方字幕) ...

  6. 虚幻引擎 4 14 版发布

    Share on Facebook Share on Twitter Share on Google+ Share on LinkedIn 此版包含 Epic 的数百项更新,以及 GitHub 虚幻引 ...

  7. 虚幻引擎学习课程大纲

    UE4十二周排课计划 第一周 周目标: 了解虚幻引擎在行业中的应用,熟悉ue4制作CG影视和游戏的流程.下载引擎以及配套软件.熟悉ue4的编辑界面,能够使用ue创建自己的项目,将以往制作的模型或下载的 ...

  8. 【虚幻引擎UE】UE4/UE5 功能性插件推荐及使用介绍 2

    一.UnrealEditorPythonScripts (基于UE5 的Python支持插件) 支持Python语言基于UE5进行开发 GIT地址:https://github.com/mamonie ...

  9. 虚幻引擎 4.14 版发布!

    Share on Facebook Share on Twitter Share on Google+ Share on LinkedIn 此版包含 Epic 的数百项更新,以及 GitHub 虚幻引 ...

最新文章

  1. mac 部署python环境
  2. c++图形中如何判断鼠标点击在一条直线上_PS教程:十种抠图方法【上】
  3. TX2 安装QT Creator
  4. 运维利器1-supervisor
  5. 有关UNICODE、ANSI字符集和相关字符串操作的总结[转]
  6. top20万_主播收入榜(12.10)| 快手小伊伊收入150万;薇娅抖音快手开账号
  7. javascript --- js中的作用域 变量提升
  8. SQL里的SWITCH分支语句
  9. c++ map 初始化_如何调整Linux内核启动中的驱动初始化顺序?
  10. php依赖注入解决什么问题,php – 了解依赖注入的问题
  11. JimuReport积木报表——如何设计一张带二维码的打印报表?
  12. win32 api for .net
  13. 硅谷35岁以后的程序员都在做什么?
  14. [转]谈谈团队的凝聚力
  15. 【转】高并发情况下的单例模式
  16. win10显示隐藏文件_Win10如何隐藏文件 电脑隐藏文件操作方法
  17. 37岁Java程序员求职6K+职位被怼,你怎么看?
  18. Echarts 图例分两行显示
  19. 二极管与门电路及原理分析
  20. CG资源网站(持续更新)

热门文章

  1. 关于股市的各种小段子
  2. CY4500PD协议分析仪软件安装问题
  3. 【读书札记】SQL笛卡尔积的运用
  4. 初中计算机教室兴趣小组计划,兴趣小组活动计划方案
  5. 南邮《网络技术与应用》4次作业
  6. DSY2933*地图
  7. win10计算机查看用户组,Win10怎么查询用户组及组中用户
  8. 京东页面倒计时效果的制作
  9. android蓝牙防丢失,Android 蓝牙防丢实现(一)
  10. idea编译报错:Error:Kotlin: Module was compiled with an incompatible version of Kotlin.