Unreal Engine 5.1 AI行为树基础入门

这篇具有很好参考价值的文章主要介绍了Unreal Engine 5.1 AI行为树基础入门。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

ai行为树理解起来其实是npc根据自身一些情况进行一些逻辑执行,而这些逻辑是我们使用ai行为树去实现的。
ai行为树需要一个寻路网格体边界体积,在ue引擎中,体积Actor分为多种,寻路网格体边界体积只是其中的一种。
关于其它的体积,可以在官网网站查看
ai行为树,unreal,人工智能,ue5
通过上面的介绍,我们可以得知,这种体积可以生成一个角色可以移动的区域,实现自动寻路,而ai行为树会需要很多这种移动的行为,比如npc去寻找敌人并攻击。
可以在体积列表下找到寻路网格体边界体积
ai行为树,unreal,人工智能,ue5
然后设置体积的缩放,让体积包围住整个可以移动的区域,按p键可以查看区域。
ai行为树,unreal,人工智能,ue5
如果你需要一些动态物体的阻挡,那么需要将网格体更新设置成动态
ai行为树,unreal,人工智能,ue5

在蓝图中使用导航数据

AI MoveTo节点使用
Pawn 需要自动移动的角色
Destination 一个明确的位置
Target Actor 一个明确的对象可以和位置二选一设置
Acceptance Radius 和目标的距离半径内
Stop on Overlap 进入目标半径后是否停止寻路
ai行为树,unreal,人工智能,ue5

首先实现一个跟随主角的效果,只需要通过AI MoveTo节点,便可以实现设置跟随主角,设置定时器,更新位置即可,
ai行为树,unreal,人工智能,ue5
我又有灵感,制作了另外一个版本,根据距离如果超过一定距离以后,再去跟随
ai行为树,unreal,人工智能,ue5
实现随机位置移动,获取半径能氪抵达的随机位置,一种需要调用,另一种不需要
ai行为树,unreal,人工智能,ue5

相关组件的介绍

要实现AI行为树去控制角色,那么需要创建几个文件:
ai行为树,unreal,人工智能,ue5

AIController AI控制器,作为AI的入口,用来去驱动Pawn或Charactor的行为,修改设置在黑板里的数据。
在AI控制器内,可以添加一些AI感知组件,更好的处理一些操作。
ai行为树,unreal,人工智能,ue5
使用AI控制器需要在角色蓝图上设置。
ai行为树,unreal,人工智能,ue5
BehaviorTree 行为树里面主要行为控制,根据数据判断进行逻辑运行。ai控制器可以选择去使用哪个行为树去运行,你需要在ai控制器内指定运行的行为树
ai行为树,unreal,人工智能,ue5

BlackboardData 黑板数据主要存储一些变量,AI控制器主要去修改,行为树用于去进行逻辑判断。黑板的数据需要在行为树内指定,然后才可以在行为树内使用。
ai行为树,unreal,人工智能,ue5

行为树需要从根部向下添加选择器(Selector) 节点
ai行为树,unreal,人工智能,ue5
合成(Composites) 节点是流控制的一种形式,决定了与其相连的子分支的执行方式。

  1. 选择器(Selector) 从左到右执行分支,通常用于在子树之间进行选择。当选择器找到能够成功执行的子树时,将停止在子树之间移动。举例而言,如果AI正在有效地追逐玩家,选择器将停留在那个分支中,直到它的执行结束,然后转到选择器的父合成节点,继续决策流。
  2. 序列(Sequence) 从左到右执行分支,通常用于按顺序执行一系列子项。与选择器节点不同,序列节点会持续执行其子项,直到它遇到失败的节点。举例而言,如果我们有一个序列节点移动到玩家,则会检查他们是否在射程内,然后旋转并攻击。如果检查玩家是否在射程内便已失败,则不会执行旋转和攻击动作
  3. 简单平行(Simple Parallel) 简单平行节点有两个"连接"。第一个是主任务,它只能分配一个任务节点(意味着没有合成节点)。第二个连接(后台分支)是主任务仍在运行时应该执行的活动。简单平行节点可能会在主任务完成后立即结束,或者等待后台分支的结束,具体依属性而定。

以上摘自官网 https://docs.unrealengine.com/4.27/zh-CN/InteractiveExperiences/ArtificialIntelligence/BehaviorTrees/BehaviorTreeQuickStart/
接下来的实现也是基于官方的,如果有需要,请移至官方查看。

任务可以在行为树上面的栏目选择创建
ai行为树,unreal,人工智能,ue5
创建出来的任务,官方推荐使用BTT作为前缀
ai行为树,unreal,人工智能,ue5
创建的任务中,添加事件接收执行AI,然后在后面可以执行一些逻辑,记得任务完成以后,要设置完成执行,不管成功不成功。
ai行为树,unreal,人工智能,ue5

使用AI行为树实现官方案例

首先在黑板里面创建相应的变量
ai行为树,unreal,人工智能,ue5
然后再ai角色蓝图内使用AI控制器
ai行为树,unreal,人工智能,ue5
然后在AI控制器内设置使用行为树
ai行为树,unreal,人工智能,ue5
然后增加视觉感知
ai行为树,unreal,人工智能,ue5
设置检测中立方是因为按归属设置需要C++源码,然后在主角蓝图上面设置tag检测
ai行为树,unreal,人工智能,ue5
在AI控制器中事件点击目标感知更新时回调
ai行为树,unreal,人工智能,ue5
在更新时,判断是否为玩家标签,然后判断是否获取成功,设置分支
ai行为树,unreal,人工智能,ue5
如果失败了,设置定时器,然后设置了每4s调用一次事件
ai行为树,unreal,人工智能,ue5
如果获取了玩家角色实例,那么清除掉定时器,然后设置黑板的值。这样,行为树可以根据黑板的值进行逻辑运行。
ai行为树,unreal,人工智能,ue5
注意这个黑板是黑板对象,不是黑板组件
ai行为树,unreal,人工智能,ue5
然后行为树按照官方设置,注意节点右上角的数字,是当前的执行顺序。
ai行为树,unreal,人工智能,ue5
根节点是选择跟
ai行为树,unreal,人工智能,ue5
追逐玩家节点增加了一个装饰器黑板,观察器中止设置为both,是在黑板的值未改变之前,中止掉其它所有的执行,观察的值则是黑板上写的变量是否看到玩家,这个值改变时,会重新运行这个节点。
ai行为树,unreal,人工智能,ue5
追逐玩家序列节点下面有三个任务,它们会按照顺序执行,找到玩家会朝向玩家,然后修改移动速度,并朝向玩家移动。
ai行为树,unreal,人工智能,ue5
追逐玩家任务节点是我们自己实现的一个任务,在里面实现了对当前ai持有者的速度修改
ai行为树,unreal,人工智能,ue5
然后就是第二个节点巡逻,第一个设置速度和位置,第二个节点朝向巡逻目标移动,移动成功后,等待3s-5s
ai行为树,unreal,人工智能,ue5
第一个节点就是自定义任务,里面随机了一个可以移动到的节点,如果没有随机到的话,就原地移动。
ai行为树,unreal,人工智能,ue5

接下里就是执行的问题
ai行为树,unreal,人工智能,ue5
追逐玩家是需要黑板上的能够看到玩家这个值,如果这个值为false,会触发整个ai重新运行,然后直接跳到巡逻序列,巡逻序列会一直执行下去,直到能够看到玩家的值改变。
所以,追逐玩家,优先级最高,每次都是先运行,不可运行才会去巡逻,第十个等待在这个逻辑里面是运行不到的。文章来源地址https://www.toymoban.com/news/detail-678963.html

到了这里,关于Unreal Engine 5.1 AI行为树基础入门的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Unreal Engine游戏引擎的优势

    在现在这个繁荣的游戏开发行业中,选择合适的游戏引擎是非常重要的。其中,Unreal Engine作为一款功能强大的游戏引擎,在业界广受赞誉。那Unreal Engine游戏引擎究竟有哪些优势,带大家简单的了解一下。 图形渲染技术 Unreal Engine确实提供了先进的图形渲染技术,包括实时光

    2024年02月03日
    浏览(33)
  • Unreal Engine添加UGameInstanceSubsystem子类

    点击C++类文件夹,在右边的区域点击鼠标右键,在弹出的菜单中选择“新建C++类” 在弹出的菜单中选中“显示所有类”,选择GameInstanceSubsystem作为父类, 点击“下一步”按钮 输入子类名称“UVRVIUOnlineGameSubsystem”,选择插件作为新类的目标模块,点击“公共”选择器 打开C++工

    2024年04月26日
    浏览(30)
  • Unreal Engine 4创建图片背景场景。

    传统的UI界面通常位于整个模型场景的最前面,这可能会导致很多的限制,例如创建纯图片的背景或者创建类似于游戏人物装备简介界面,这些场景图片都位于模型的后面,我们这个方法就是先解决这个问题。 创建 Actor蓝图类 2. 添加组件 :添加 “场景组件”,添加“摄像机

    2024年02月14日
    浏览(23)
  • Unreal Engine 与 Blender - 比较指南

    虚幻引擎和 Blender 是游戏开发人员中最常用的两种软件,它们在游戏开发工作流程中都有自己的用途和地位。作为进入视频游戏行业的初学者,可能很难从数十种软件中筛选找到最适合您需求的一款。希望本指南能够缓解这一困难并帮助您决定选择哪个软件。 虚幻引擎是由

    2024年02月16日
    浏览(38)
  • Unreal Engine 游戏中枪的构建

      一、创建枪蓝图 1、创建一个actor蓝图: 在Blueprints文件夹中右键添加蓝图类actor并命名为Gun_BPGun_BP 2、添加骨骼网格体组件 双击打开蓝图类,在左上角组件中添加骨骼网格体组件 3、选择枪模型 选中骨骼网格体组件,将枪的网格体选中为这样 4、将骨骼网格体设置为蓝图的根

    2024年02月03日
    浏览(56)
  • Unreal Engine05:UE4基本概念

    主要是介绍一下UE4中的一些常用概念。 参考的博客如下: UE4常用逻辑关系和说明; UE4入门学习4:C++编程介绍; UE4中基础的类及其之间的关系; [官方] 虚幻引擎 4 术语; 《图解UE4渲染体系》Part 0 引擎基础 UE4世界的主要结构如下: World (当前游戏世界,可以包含多个Level)

    2024年02月06日
    浏览(52)
  • Unreal Engine工程项目目录及对应作用

    目录 .vs Binaries:编译文件 Config:配置文件 Content:资产文件 DerivedDataCache:UE针对平台特化的资源版本 Intermediate:中间文件 Saved:自动保存的内容 Source:源(代码)文件 .sln文件:VS的工程文件 .uproject:虚幻的启动文件 为啥要说这个呢? 有两点: 便于我们管理并查找相应资

    2023年04月19日
    浏览(49)
  • Unreal Engine中的Actor:理解、生成与消亡

    目录 谈谈Actor 生成(实例化)Acotr StaticClass/UClass:类模板/类的快照 Actor的生命周期 Actor的消亡 Destroy:标记删除 SetLifeSpan:设置存活时间 Destroyed:消亡Actor的通知 EndPlay:消亡时回调 删除(消亡)类型介绍 凡是能拖进场景编辑器中的,都是actor UE的场景可以理解为一个世界,

    2024年02月05日
    浏览(39)
  • Unreal Engine 虚幻引擎,性能分析,优化(二)

    目录 一、CPU 性能分析 二、GPU性能分析 三、Memory内存使用 一、CPU 性能分析 如渲染线程中出现 CPU 受限,原因可能是绘制调用过多。这是一个常见问题,美术师通常会将绘制调用进行组合,从而减少消耗(如:将多个墙壁组合为一个网格体)。实际消耗存在于多个区域中:

    2024年02月05日
    浏览(46)
  • 开源虚拟现实引擎。CARLA是一个基于Unreal Engine 4开发的游戏引擎,支持模拟各种汽车、摩托车、轨道交通信号等车辆的行驶行为,并且提供了一套API接口,供开发者进行调用,用来进行地图构建

    作者:禅与计算机程序设计艺术 目前,市面上存在多个智能汽车解决方案,包括滴滴、理想汽车、百度无人驾驶等,均由大型科技公司或各个公司开发,其中一些公司如理想汽车、百度、字节跳动等已经取得了较为丰硕的成果。随着技术的发展,人们越来越关注智能汽车在未

    2024年02月08日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包