状态机和行为树

本文探讨了游戏AI的两种实现方式——有限状态机(FSM)和行为树。FSM由状态、事件、动作和转换组成,适用于简单的状态转换逻辑。行为树则以节点树的形式表示AI行为,具备更高的模块化和复用性,适合复杂场景。两者在结构、拓展性、实现方式和性能上存在差异。
摘要由CSDN通过智能技术生成

游戏AI的实现通常分为两种,有限状态机(FSM)以及行为树(+ai感知+blackboard);

简单的需求

创建一个敌方AI,该AI看到玩家后会做出反应并展开追逐。当玩家离开视线后,AI将在几秒钟后(这可根据你的需求进行调整)放弃追逐,并在场景中随机移动,再次看到玩家时便会继续追逐。如下例视频所示。

https://docs.unrealengine.com/4.26/zh-CN/InteractiveExperiences/ArtificialIntelligence/BehaviorTrees/BehaviorTreeQuickStart/

有限状态机(FSM)

概念

有限状态机,又称有限状态自动机,简称状态机,是表示有限个状态以及在这些状态之间的转移和动作等行为的数学模型。

组成

状态机由下列几部分组成:
状态集(States):包括现态和次态在内的一系列状态,用来描述状态机所处的状态。

事件(Event):又被称为“条件”,当满足条件时,将会触发一个动作,或者执行一次状态的迁移。

动作(Action):条件满足后执行的动作。动作执行完毕后,可以迁移到新的状态,也可以仍旧保持原状态。动作不是必需的,当条件满足后,也可以不执行任何动作,直接迁移到新状态。

转换(Transition):通过转换函数将状态从现态迁移到次态的动作。迁移后次态变为现态。

特点

有限状态机维护了一张图(如图结构,方框是状态,箭头是状态之间的联系),图中的结点代表不同的状态,状态之间通过某种条件触发转换,如果不满足条件则维持原状态。

这里以一个简单的例子来说明。
下图为游戏中使用的AI有限状态机。
在这里插入图片描述
从图中可以看出,有限状态机表示的AI不可能同时处于图示状态中的多个,而只可能处于其中一种状态,状态的转换取决于转换条件和当前所处状态。

我们不考虑怪物的出生和死亡状态,只考虑图中列出的这几个状态,可以看出,它们的转换关系是非常显而易见的,控制转换的核心条件是AI是否看到玩家(IsSee),驱动了整个状态机的状态切换。

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值