虚幻5|入门AI行为树,建立敌人

news2024/12/23 15:45:13

本章分成两块部分一块是第一点的制作一个简单的AI,后面第二点之后是第二部分建立ai行为树。这两个部分是一个衔接,最好不要跳看

一,制作一个简单的AI

1.首先,我们创建一个敌人的角色蓝图,添加一个场景组件widget用于添加敌人的UI于蓝图视口,可在运行的时候,看到血条UI,如果你还没做这个,可以暂时不加这个组件,后面我会开基础UI编写文章

2.添加pawn感应组件用于敌人视听看感官

3.点击widget,细节设置如下,这是敌人UI的设计

4.点击pawn感应组件,我只改了两个值,你可以看看视口有很多线形范围,根据自己所需调整

5.打开事件图表,编写以下蓝图

pawn事件,当敌人看到玩家的时候,会打印hello

6.编写以下蓝图

先自定义事件,再事件开始运行ai巡逻,ai能一次性移动1000的半径,每次移动等待1~2秒再次移动,每移动完一次打印到达。理解起来很简单

7.打开主界面,创建一个导航网格体边界体积,这绿色的范围就是敌人可巡逻范围

好的,我们运行一下就可以看到ai可以随机移动,并且你靠近他的视野范围会靠近你

以后有很多的ai,我们再创建一群ai时担心任务繁琐,需要用到ai行为树解决这问题

9,运行完了,为了后面更好的建立ai行为树,我们取消事件开始运行与ai巡逻事件的触发,把白线断了即可

二,建立ai行为树

1.打开主界面,右键新建蓝图,搜索ai控制器(aicontroller),创建ai控制器蓝图

2.双击进入ai控制器

创建运行行为树,但我们还没有行为树资产,这还需要我们去创建其他的

三,创建行为树

1.回到主界面,右键,选中人工智能,选中行为树

2.回到我们的ai控制器蓝图,选择我们的行为树资产

3.回到主界面点开我们的行为树

介绍Sequence特点

介绍Selector特点

move to执行为什么会执行失败,如何执行成功呢?就需要我们的黑板

四,创建黑板

1.为move to新建一个黑板

左上角,新建黑板,命名带block,上面的行为树命名带tree

2.还是在我们的行为树里,点击空白位置,右侧细节处,选择刚刚创建的黑板资产

3.打开黑板,新建向量并命名moveto

我们的移动就是按照向量变化的,所有新建一个向量最好

4.选中我们的moveto,找到黑板键选择

五,创建任务

1.新建任务,我们的moveto需要看了黑板,就需要个表去记录任务,命名要带有task

我们的这个任务就是我们的事件图表,类似角色蓝图动画蓝图里面的

2.在任务里,创建事件,这个事件是官方给的,不是自定义的

3.编写以下蓝图

注意,我们这个key变量得是全局变量,否则行为树,还有其他蓝图就访问不了利用不了

记住还要编译一下,否则等会行为树就不会出现跟我一样的情况

4.回到行为树,在moveto之前执行一个task,我的任务命名是ue5_task,你的可能跟我不一样

5.选中我们的task,默认key选择moveto

这样任务task,行为树,黑板全部联系起来了

运行,就可以发现跟我们第一点讲的建立简单ai敌人的行为一致了,虽然麻烦但这种方法可以创建很多个ai敌人

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2039944.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

django快速实现个人博客(附源码)

文章目录 一、工程目录组织结构二、模型及管理实现1、模型2、admin管理 三、博客展现实现1、视图实现2、模板实现 四、部署及效果五、源代码 Django作为一款成熟的Python Web开发框架提供了丰富的内置功能,如ORM(对象关系映射)、Admin管理界面…

鸿蒙(API 12 Beta3版)【使用投播组件】案例应用

华为视频接入播控中心和投播能力概述** 华为视频在进入影片详情页播放时,支持在控制中心查看当前播放的视频信息,并进行快进、快退、拖动进度、播放暂停、下一集、调节音量等操作,方便用户通过控制中心来操作当前播放的视频。 当用户希望通…

Immutable-持久化数据结构:助力 React 性能提升

React 更新 state 时为什么要使用 Immutable 语法?Immutable 可持久化数据结构 是什么?如何在 React 项目中使用相关 Immutable 类库? 从 useState 说起 状态更新流程 📢 setState(value) React 内部流程: #mermaid-…

ubuntu下使用docker和socket进行数据交互记录

ubuntu下使用docker和socket进行数据交互记录 概述:主要实现了在宿主机上通过8000端口传递一张图像给docker镜像,然后镜像中处理后,通过8001端口回传处理后的图像给宿主机。 第一章、构建镜像 一、dockerfile文件 1.拉取ubuntu20.04镜像 …

【前端面试】挖掘做过的nextJS项目(下)

https://blog.csdn.net/weixin_43342290/article/details/141170360?spm1001.2014.3001.5501文章浏览阅读105次。需求:快速搭建宣传官网1.适应pc、移动端2.基本的路由跳转3.页面渲染优化4.宣传的图片、视频资源的加载优化5.seo优化全栈react web应用、tailwind css原子工具的支…

Python中的多行字符串和文档字符串

Python中的多行字符串和文档字符串 Python中,多行字符串和文档字符串都使用三引号(""" 或 )来定义。都可以跨越多行而不需要使用行连接符(\)。 多行字符串和文档字符串都可以利用转义符来调整格式——…

vue3.0脚手架、路由、Element Plus安装案例:收录于Vue 3.0 后台管理系统案例

目录 环境配置 Vue 3.0 脚手架(Vite)安装 node版本查询与切换 创建一个vue应用 Vue Router安装 安装vue-router4 配置路由 安装配置 展示路由 Element UI安装 安装element-plus 引入element-plus 使用element-plus 用户登录 环境配置 Vue 3…

HarmonyOS(51) 应用沙箱目录和Context获取文件路径

文件目录 应用沙箱目录沙箱目录的分类应用文件目录结构应用文件路径详细说明ApplicationContext获取应用文件路径通过AbilityStageContext、UIAbilityContext、ExtensionContext获取HAP级别的应用文件路径切换el1和el2AreaMode简介 参考资料 应用沙箱目录 沙箱目录的分类 如下…

CUDA+tensorflow+python+vscode在GPU下环境安装及问题汇总与解答

2024.8.14 因为要做深度学习,需要安装tensorflowgpu的环境,每次都搞不好整的很生气,本次将安装过程中参考的一些大佬的博客和安装过程中遇到的问题及解决方案总结一下,希望以后不要在这件事情上浪费时间。安装环境其实也没有想象中…

迁移学习代码复现

一、前言 说来可能令人难以置信,迁移学习技术在实践中是非常简单的,我们仅需要保留训练好的神经网络整体或者部分网络,再在使用迁移学习的情况下把保留的模型重新加载到内存中,就完成了迁移的过程。之后,我们就可以像训练普通神经网络那样训练迁移过来的神经网络了。 我们…

浅谈SIMD、向量化处理及其在StarRocks中的应用

前言 单指令流多数据流(SIMD)及其衍生出来的向量化处理技术已经有了相当的历史,并且也是高性能数据库、计算引擎、多媒体库等组件的标配利器。笔者在两年多前曾经做过一次有关该主题的内部Geek分享,但可能是由于这个topic离实际研发场景比较远&#xff0…

使用大模型从政府公文中抽取指标数据

文章目录 介绍流程结构介绍相关文本筛选大模型 few-shot大模型抽取结果 介绍 本文使用LangChain 结合 Ollama的qwen2:7b模型,抽取出全国市级单位每一年预期生产总值指标。 Ollama的qwen2:7b,显存占用只有5G左右,适合大多数消费级显卡运行。…

华为云Api调用怎么生成Authorization鉴权信息,StringToSign拼接流程

请求示例 Authorization 为了安全,华为云的 Api 调用都是需要在请求的 Header 中携带 Authorization 鉴权的,这个鉴权15分钟内有效,超过15分钟就不能用了,而且是需要调用方自己手动拼接的。 Authorization的格式为 OBS 用户AK:…

zabbix agent 可用性 为 灰色

解决zabbix可用性为灰色状态 配置–》模板–》选择模板, 之后正常。

排序: 插入\希尔\选择\归并\冒泡\快速\堆排序实现

1.排序的概念及应用 1.1概念 排序:所谓排序,就是一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。 1.2运用 购物筛选排序: 1.3常见排序算法 2.实现常见的排序算法 int a[ {5,3,9,6,2,4,7,1,8}; 2…

MySQL数据库专栏(三)数据库服务维护操作

1、界面维护,打开服务窗口找到MySQL服务,右键单击可对服务进行启动、停止、重启等操作。 选择属性,还可以设置启动类型为自动、手动、禁用。 2、指令维护 卸载服务:sc delete [服务名称] 例如:sc delete MySQL 启动服…

嵌入式软件开发学习一:软件安装(保姆级教程)

资源下载: 江协科技提供: 资料下载 一、安装Keil5 MDK 1、双击.EXE文件,开始安装 2、 3、 4、此处尽量不要安装在C盘,安装路径选择纯英文,防止后续开发报错 5、 6、 7、弹出来的窗口全部关闭,进入下一步&a…

STM32(一):新建工程

stm32f10x.h文件:描述stm32有哪些寄存器(外围)和它对应的地址。stm32由内核和内核外围的设备组成的,内核寄存器描述和外围寄存器描述文件存储位置不在一起core_cm3.h core_cm3.c内核寄存器描述文件。mic.c内核库函数 stm32f10x_co…

【初阶数据结构】通讯录项目(可用作课程设计)

文章目录 概述1. 通讯录的效果2. SeqList.h3. Contact.h4. SeqList.c5. Contact.c6. test.c 概述 通讯录项目是基于顺序表这个数据结构来实现的。如果说数组是苍蝇小馆,顺序表是米其林的话,那么通讯录就是国宴。 换句话说,通讯录就是顺序表…

pycharm windows/mac 指定多版本python

一、背景 工作中经常会使用不同版本的包,如同时需要tf2和tf1,比较新的tf2需要更高的python版本才能安装,而像tf1.5 需要低版本的python 才能安装(如 python3.6),所以需要同时安装多个版本。 二、安装多版本python py…