UE5 基础应用 —— 09 - 行为树 简单使用

目录

一、AI Move To

二、行为树

2.1 行为树简单使用

2.1.1 创建 AI Controller 并在 BP_AICharacterBase 中添加

2.1.2 创建行为树和黑板

2.1.3 在 AI Controller 中运行行为树

2.1.4 小总结

2.2 行为树常用节点

2.2.1 复合节点

2.2.2 任务节点

2.2.3 装饰器节点

2.3 综合小案例

2.3.1 案例一 —— AI 跟随(包含 BT)

2.3.2 案例二 —— AI 攻击(包含 BT)

2.3.3 案例三 —— AI 攻击升级版(包含 BT)

2.3.4 案例四 —— 攻击 AI 扣血(包含 BT)

2.3.5 案例五 —— AI 死亡溶解效果

2.3.6 案例六 —— 索敌

屏幕中心索敌

Tab 索敌

2.3.7 案例七 —— 角色自动回血

2.3.8 案例八 —— 下方技能栏

2.3.9 案例九 —— 技能冷却

2.3.10 案例十 —— 初始生成 AI / AI 刷新

2.3.11 案例十一 —— 技能指示器

2.3.12 案例十二 —— 战斗 NPC(包含 BT)

2.3.13 案例十三 —— 服务 NPC(包含BT)


一、AI Move To

AI Move To:让 AI 移动到目标位置或目标 Actor。

它直接调用了导航系统(Nav Mesh)去寻路。是蓝图里的移动节点,不在行为树内部。

二、行为树

2.1 行为树简单使用
2.1.1 创建 AI Controller 并在 BP_AICharacterBase 中添加

首先创建 BP_AIController。

在 GameMode 中,主要配置的是 与玩家相关的类。但 AI 一般是在场景里放置的 Character(或 Pawn),或者运行时用 SpawnActor 动态生成的。那么我们应该如何配置呢?

在 BP_AICharacterBase 中,【Pawn】-【AI Controller Class】- 添加我们创建的 BP_AIController。

2.1.2 创建行为树和黑板

行为树 规范命名为 BT_;黑板 规范命名为 BB_。

注:一个黑板可以被多个行为树共用

用行为树实现 AI Move To 逻辑,具体如下。

在黑板中创建 FinishLocation。

创建自定义任务节点。使用 Set Blackboard Value as xx 节点为 FinishLocation 赋值。

最后记得使用 Finish Execute 节点。

Move To 节点中黑板键 选择 FinishLocation。

2.1.3 在 AI Controller 中运行行为树

推荐使用第一种 Event On Possess + Run Behavior Tree。

2.1.4 小总结
  • 不管是 BP_CharacterBase 还是 BP_AICharacterBase,通过 Get Owner 节点获取的都是其控制器。
  • 不管是 BP_PlayerController 还是 BP_AIController,通过 Get Controlled Pawn 节点获取的都是其 Pawn。
  • 使用 Get AIController 节点时注意前面不要忘记连上 Controllered Actor。

2.2 行为树常用节点
2.2.1 复合节点

Selector:运行其子节点直到其中一个成功。

Sequence:按顺序运行子节点,直到一个失败或全部成功。

Simple Parallel:同时运行多个子节点。

2.2.2 任务节点

执行实际的行为,如移动到一个地点、播放动画或者攻击玩家。下面介绍几种比较常见的任务节点:

Rotate to face BB entry:朝向

Move To:移动到目标位置

Wait:等待一段时间

Run Behavior:调用子行为树

除上述任务节点之外,自定义任务节点创建有如下两种方式。

2.2.3 装饰器节点

装饰器(可以添加多个)是行为树里的“条件控制器”,用来决定某个节点是否能运行。

Blackboard:检查黑板里的某个键是否满足条件,只有满足时,节点才会被执行。

        观察器中止四个参数如下:

2.3 综合小案例
2.3.1 案例一 —— AI 跟随(包含 BT)

实现功能:当角色靠近 AI 时,AI 跟随角色。当角色远离 AI 时,AI 乱跑。

在行为树中创建逻辑。

在黑板中创建键。IsSeeing 设置为 Fasle。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值