目录
2.1.1 创建 AI Controller 并在 BP_AICharacterBase 中添加
一、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。


最低0.47元/天 解锁文章
1222

被折叠的 条评论
为什么被折叠?



