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