95-AI行为树实现随机和跟随移动




95-AI行为树实现随机和跟随移动

AI行为树实现随机和跟随移动

创建 Blackboard(黑板)ControllerBehavior Tree(行为树)BluePrint

创建完成后

  • 黑板:存储AI的变量

  • 行为树:存储AI的逻辑

  • 蓝图类:为AI的执行者

  • Controller:为AI的控制器

进入 AI_BB 添加 LookPlayerCoordinates 变量

进入 AI_Contorller 添加 AIPerception 组件

选中组件,在 细节 面板中找到 感官配置 并添加 AI视力配置

展开索引

  • 视线半径 :查看到目标之后通知多少范围内的AI

  • 失去视线半径 :目标距离多远失去目标

  • 次要视角半角角度 :AI的视野角度

  • 按归属检测 :检测什么归属的目标(如果需要查看到玩家,需要勾选 检测中立方

选中 AIPerception 组件在 细节 面板中添加 目标感知更新时

  • Actor :返回AI看见的 Pawn角色

  • Stimulus :看到物体后返回的内容

Stimulus 处拖线添加 中断AIStimulus 节点,从执行流处添加 类型转换为 Player_BP打印字符串 节点并连接

进入 AI_BP 蓝图类中 类默认值 > Pawn > AI控制器类 设置为创建的控制器

编译后运行

进入 AI_BT 行为树,从根添加节点

  • Selector :根据条件选择其中一个执行

  • Sequence :执行完第一条之后执行第二条以此类推

从根执行到 Selector 根据条件判定执行左边还是右边的 Sequence

右键 Sequence 序列节点 添加装饰器 > Blackboard

选中新增的 装饰器 ,在细节面板中更改值

注意:已设置代表 True ,未设置代表 Flase

细节 面板中将 观察器终止 调整为 Both

回到 AI_Controller 事件图表,将 打印字符串 节点删除,并添加 获取黑板创建文字命名将值设为布尔运行行为树

AI_BP 蓝图类事件图表中的所有节点删除

AI_BT 中新建基于 BTTask_BlueprintBase 的任务

将寻路逻辑添加进入新建的任务

回到 AI_BT 将创建的任务添加到其中,并添加 Wait 任务,在执行完毕时等待五秒

可以回到 AI_Controller 添加 事件开始运行 将运行行为树连接

FollowPlayer 中添加寻找玩家的逻辑

回到 AI_BT 添加寻找玩家的任务

编译后运行

但是如果转的快,会导致AI丢失目标。

回到 AI_BPCharacterMovement细节 面板中找到 角色移动(旋转设置) > 将旋转朝向移动 取消勾选

类默认值 中找到 使用控制器旋转 Yaw ,并勾选

FollowPlayer 事件图表中添加 设置焦距 节点

AIGetCoordinates 中添加 清除焦距 节点

注意


勾选了 使用控制器旋转 Yaw 之后,AI的旋转会跟随AI控制器的旋转

而当使用 设置焦距 之后,AI的旋转则会跟随玩家的方向

 


暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇