GOAP算法

1.GOAP

GOAP(以目标为导向的行动计划)是一种AI代码框架

也是一种游戏中对于复杂的AI、动画系统的做法,根据目标在环境中的信息决策出最佳和行动方案或者路线,从而达到看起来更逼真合理,相对智能的AI、动画。

基础框架中实现Agent代理+IGoal数据提供者+Planner决策者+Action行动+FSM状态机

实际中可以不必拘泥于一定要这样实现,主要是要实现它的思想

代理人有一个目标要实现,这个时候决策者要根据环境信息与自身状态计划出为了达到目标的最优行动序列,同时在行动中发生了状态或者环境改变时不断重新决策改变行动序列。

细节在于决策者是如何计划出最佳行动序列的,首先行动序列是基于行动的先决条件的,GOAP主要是通过评估每个行动Action的成本Cost来确定要执行的行动序列。

行动应该是计划中的基本单元,行动之间互不影响,前提条件是行动所需的状态,产生的效果属性是行动执行后对状态的更改。

代码框架中稳定部分应该是Action基类、Plan决策者、IGoap数据提供者接口

根据实际项目编写Agent,WorldState,Action子类,Goap子类,确定AI有哪些目标、哪些行动、环境如何影响状态、状态如何影响目标等等

猜你喜欢

转载自blog.csdn.net/QQ734821120/article/details/89530396