行为树 Behavior Tree 实例 五

行为树 Behavior Tree 实例 五

Behavior Tree 的篇幅已经到了第五篇了,讲解了行为树的原理、伪代码,C# Demo代码,以及自己写的一个关于Unity 的行为树插件。
关于上面的 Demo 是一个有什么样功能的 AI来说一下

一个 角色 Player 打 Npc 的 AI 逻辑
Player 有搜索 Npc 的功能,
当Player 能量/体力不足时,需要到补给点去补充能量
如果没有搜索到 Npc 则 Player 就进行巡逻走动,
如果搜索到了 Npc,并且 Npc 在 Player 的攻击范围外,则Player 追击 Npc,
如果Player能够攻击到 Npc 时Player 停止移动开始 发子弹攻击 Npc

我们需要自定义的就是行为节点:攻击、移动、巡逻、补充能量、搜索敌人条件节点:通用条件节点、判断能量是否足够的条件节点
我定义Player角色的 脚本为 BaseSprite.cs
需要将 BaseSprite 传递到自定义的 行为、条件节点

打开四个类 GameController.cs 、SpriteManager.cs、SpriteBTUpdateManager.cs、 BaseSprite.cs
如果只关心 AI 如何能够运行起来,看上边四个脚本就够了,如果想了解行为树原理部分以及行为树编辑器部分,自己看其他代码就行了。
这四个脚本中已经在需要的地方加了注释

GameControlle 是逻辑驱动的中心,它包含了配置文件的加载和驱动 SpriteManager和SpriteBTUpdateManager 的功能
SpriteManager 则存储所有的 BaseSprite
SpriteBTUpdateManager 存储所有的 BaseSprite的 BTBase(AI执行脚本)接口 IBTNeedUpdate
BaseSprite 则是每一个 Player角色的 实例类对象

当你了解了上面四个脚本的逻辑后就能驱动 AI 移动起来了。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值