UE4的AI行为树基础知识

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

1.前言

        在制作游戏时,会制作敌人、怪物、NPC等不被玩家所操作的对象,那么制作这些对象,就需要通过使用AI行为树来为他们编写各自的一些行为逻辑,比如敌人会寻找主角并攻击、怪物会在自己的领域巡逻等等。

2.组件说明

  • NavMeshBoundsVolume:导航网格体边界体积,用作导航寻路,会自动计算可到达的位置,避开障碍物,可在项目设置中设置静态计算还是动态计算,动态计算是在运行过程中实时计算的,比较耗费性能,一般情况就使用静态。
  • AIController:AI的控制类,可添加AI的一些感知组件、视力感知、听力感知等等。通过感知组件,可以做很多不同的行为,需要在AI中设置编写好的AIController
  • BlackBoardData:黑板,设置一些行为树用到的成员数据
  • BehavirTree:行为树,编写AI行为,需要在AIController中运行写好的行为树(绑定)。树的结构,从根开始往下执行,执行顺序是从上到下,从左到右
    • Composites:合成器节点
      • Selector:选择器合成节点。从左到右执行子项,如果其中一个子项执行成功则终止,如果子项成功,则选择器成功,如果全部失败,则失败
      • Sequence:序列合成节点。从左到右执行子项,其中一个子项执行失败则序列失败,停止执行。序列的全部子节点执行成功,序列成功
      • Simple Parallel:并行执行任务节点
    • Decorator:装饰器,相当于条件判断,通过给合成器添加不同的条件,来确定是否执行该合成器
    • Task:任务,也是行为树的叶子节点,具体的行为逻辑,在执行完一个任务之后,需要给任务标记完成执行

3.简单的AI例子

         使用UE4的TPS示例进行制作,做一个AI在地图中随机移动,看到玩家后朝玩家移动

  1. 创建导航网格体边界体积

     

    1. 在左侧“放置Actor”面板中,将组件拖拽到场景中,并调整缩放,填满地板区域,按P键可以查看导航网格体的绿色区域UE4的AI行为树基础知识UE4的AI行为树基础知识
  2. 创建AI蓝图
    1. 将小白人的蓝图类拷贝一份,放到我们自己的文件夹中,并起名AI_BP,并删除蓝图中的所有逻辑,同时删除摄像机组件,将细节面板中将Pawn类别下的自动控制玩家改成“已禁用”UE4的AI行为树基础知识UE4的AI行为树基础知识
  3. 创建AIController
    1. 新建蓝图类,在“所有类”中搜索AIController,并创建蓝图,名为AIController_BPUE4的AI行为树基础知识
    2. 打开蓝图,在左侧添加AI感知组件(AIPerception)UE4的AI行为树基础知识
    3. 我们这个例子中只用AI的视力感知,所以需要设置使用哪个感知,选中AIPerception,在细节面板中,AI感知类别下面的感官配置,添加一个元素,选择AI视力配置UE4的AI行为树基础知识
    4. 可以配置不同的感官配置,伤害、视力、听力、触摸等等,这里我们只用视力UE4的AI行为树基础知识
    5. 点开Sense,可以配置视力感知的一些参数,还需要在归属(阵营)检测上勾选中立方,这个阵营可使用C++进行重写,不同游戏有不同的设置UE4的AI行为树基础知识
    6. 打开事件图表,添加感知事件更新的逻辑UE4的AI行为树基础知识
  4. 创建黑板
    1. 在资源管理器中右键-人工智能-黑板,创建一个黑板,并命名为AI_BBUE4的AI行为树基础知识
    2. 打开黑板,添加一个布尔变量,isFindPlayerUE4的AI行为树基础知识
  5. 创建AI行为树
    1. 在资源管理器中右键-人工智能-行为树,创建一个行为树,并命名为AI_BTUE4的AI行为树基础知识
    2. 打开行为树,从根节点的黄色区域,按住左键拖拽出来,创建Selector合成器UE4的AI行为树基础知识UE4的AI行为树基础知识
    3. 从Selector黄色区域,拉出两个SequencerUE4的AI行为树基础知识
    4. 右键Sequencer,创建装饰器,选择BlackboardUE4的AI行为树基础知识
    5. 选中黑板装饰器,右侧细节面板-黑板-键查询,分别选择已设置和未设置,黑板键选择我们在黑板中定义的isFindPlayerUE4的AI行为树基础知识UE4的AI行为树基础知识UE4的AI行为树基础知识
  6. 创建任务
    1. 在行为树界面的上方菜单,点击新建任务,选择BTTask_BlueprintBase,创建两个任务,分别为AI_Random_Move_Task和AI_Find_Player_Task
    2. 打开AI_Random_Move_Task,在任务中做一个AI的随机移动
      1. 在左侧-图表-函数处,选择重载“接收执行”
      2. 在增加AI移动逻辑UE4的AI行为树基础知识
    3. 打开AI_Find_Player_Task,在任务中做一个朝着玩家移动
      1. 和随机移动逻辑相同,将从导航网格中找点,改成使用当前玩家的位置点UE4的AI行为树基础知识
  7. 将任务放到对应Sequencer下
    1. 从Sequencer黄色区域,拖拽连线,从Task中选择我们刚才写好的两个任务UE4的AI行为树基础知识UE4的AI行为树基础知识
    2. 添加找玩家的任务UE4的AI行为树基础知识
    3. 添加随机移动的任务,并添加一个5秒等待时长UE4的AI行为树基础知识UE4的AI行为树基础知识
  8. 绑定行为树,在AI中绑定AIController
    1. 需要在AIController中运行我们的行为树UE4的AI行为树基础知识
    2. 在AI_BP中,将控制改成我们写好的AIControllerUE4的AI行为树基础知识
  9. 运行
    1. 将AI拖拽到场景中,运行就可以看到AI的随机移动,在看到玩家时会跟随玩家移动

4.总结

        制作了一个简单的AI移动,来学习AI制作的基础流程和基础知识,后续逐渐深入的学习AI文章来源地址https://www.toymoban.com/news/detail-501425.html

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

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

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

相关文章

  • UE5 Niagara基础知识讲解

    2023年08月27日
    浏览(59)
  • UE4行为树详解

    ksun 139 人赞同了该文章 本文的目的是希望帮助开发者能更好地理解行为树执行顺序,并更合理的实现AI逻辑。而且尽量 说人话 。 需要一定的基础,希望你至少做了几个简单AI。 很久没有碰AI开发了,我鸽了,对不起,此文请配合评论一起食用(我对AI开发的部分概念,理解有

    2024年02月05日
    浏览(35)
  • UE4/5 行为树使用教程

    使用行为树需确保目标蓝图继承自Character基类,然后根据本文下面的流程操作即可。 首先需要在 角色自身蓝图之外 创建一个新的蓝图,继承自AIController: 找到角色自身蓝图类 设置中的Pawn一栏 ,挂载刚刚创建的控制器蓝图: 创建行为树文件,添加Sequence节点,可以单击Ne

    2024年02月15日
    浏览(39)
  • 计算机网络基础知识(八)—— 怎么制作HTTPS中的SSL证书?手把手教学

    前面学习了什么是HTTPS协议,简单了解了SSL/TLS协议的相关概念,其中HTTPS中的S里最关键的一点就是“公钥和私钥”,那么现在就来了解一下怎么制作“公钥 私钥”吧 使用 OPENSSL 生成自签名证书的过程如下,下面的 google.com 域名可以任起,但是替换的时候,每一个指令中的域

    2024年02月09日
    浏览(75)
  • 第二章:AI大模型基础知识 2.1 机器学习基础

    随着计算机技术的飞速发展,人工智能已经成为了当今科技领域的热门话题。在这个过程中,机器学习作为人工智能的一个重要分支,扮演着至关重要的角色。本文将从机器学习的基本概念、核心算法原理、具体操作步骤、实际应用场景等方面进行详细讲解,帮助读者更好地

    2024年02月21日
    浏览(57)
  • UE4 体积云制作 学习笔记

    首先Noise本来就是一张噪点图 云的扰动不能太大,将Scale调小,并将InputMin调整为0 形成这样一张扰动图 扰动需要根据材质在世界的位置进行调整,所以Position需要加上WorldPosition 材质在不同世界位置,噪点不同 除以一个数,相当于原来0~1范围的贴图变成了0~0.2范围的贴图,贴

    2024年02月08日
    浏览(52)
  • 个人制作UE4 ARPG项目分享

            出于展示自身项目能力和游戏制作热情的目的,我花了大概4个月左右的时间制作了一个动作游戏项目。最初我的目标是制作一个完整的短流程类魂游戏,录制一个大概20分钟左右的完整流程视频上传到视频网站,来展示我的热情和能力;但现在因个人时间紧张、计

    2024年02月03日
    浏览(51)
  • UE4/5动画系列(1.模板制作)

    目录 动画模板制作 同步模板组制作 有模板做什么都方便,所以这里我们做一个动画蓝图的模板(动物专用) 第一步创建一个动画蓝图的模板 然后找到第三人称的模板,将其模板的蓝图改名: 在动画蓝图的模板里面创建:  创建一个移动功能用的函数: 在这个函数中要计算

    2024年02月09日
    浏览(47)
  • AI模型部署基础知识(一):模型权重与参数精度

    一般情况来说,我们通过收集数据,训练深度学习模型,通过反向传播求导更新模型的参数,得到一个契合数据和任务的模型。这一阶段,通常使用pythonpytorch进行模型的训练得到pth等类型文件。AI模型部署就是将在python环境中训练的模型参数放到需要部署的硬件环境中去跑,

    2024年01月20日
    浏览(50)
  • UE4/5:通过Blender制作BlendShape导入【UE4/5曲线、变形目标,blender形态键】

    UE4/5里面,我们经常可以在一些骨骼模型上面看到相关的曲线,如Metahuman里面就是通过这个曲线来改变人物的脸部表情。 而这里笔者将教导如何去制作这种曲线。 这种曲线都是存在于骨骼模型上的,所以我们要么直接制作骨骼模型导入ue,要么做一个普通的模型,然后导入

    2024年02月03日
    浏览(62)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包