状态机与决策树
(2条消息) AI之用行为树来实现逻辑_丿寒风的博客-CSDN博客
游戏中的敌人行为基本可以分为三种:
探测:接受外界信息
决策:根据信息和决策结构做出判断
行动:做出具体行为
有限状态机:FSM
预先设定游戏中所有可能的状态,继而通过当前状态(与外界信息)决定接下来作什么,以及相应的状态转换。
例如:有三种行为,吃,休息和接电话。
- 首先确定所有状态:吃,休息,接电话。
- 接下来为各状态分配状态转换控制流
休息中:
听到电话铃 -> 接电话
感到饥饿 -> 吃饭
吃饭中:
听到电话铃 -> 接电话
吃饱 -> 休息
接电话中:
通话完毕 -> 休息
行为树:Behavior Tree
通过优先级顺序,控制流结构,以及任务执行的情况决定接下来做什么。属于一种抽象化,节点化的控制结构。
根节点
Selector:
接电话
吃饭
休息
尝试接电话,如果失败则尝试吃饭,如果失败则休息
其中,既可以将判断与task放在一起,也可以把判断作为单独的task
如
接电话:
如果有电话:
接电话
返回成功
否则:
返回失败
或者
接电话:
sequencer:
查看有电话
接电话
Comments
Post a Comment