浅谈在Unity3D中实现Finite State Machin
本有限状态机系统是为拥有FSM有限状态机知识概念的程序员所开发.
特点
-
在本插件中包含了一个关于坦克之间战斗的Demo场景,其中的AI坦克就是由本有限状态机框架所实现的。
通过研究Demo示例中的代码,您可以轻松学会使用此框架。 -
在本插件中,通过继承FSMState类来创建您自己的状态类,如果有必要,还可以在创建好的状态类中对OnEnter(),OnUpdate() 和 OnExit()进行override ,不需要像有的状态机框架那样,去编写愚蠢的枚举变量以及Switch条件跳转语句。
-在本插件中,一个State链接到里另一个State实例是通过Transition类实现的。一个State链接到里另一个State之间的Transition保存着下个State的引用以及一系列Condition实例,这些Condition决定了状态机是否要切换到下一个状态。
-
在本插件中,每个condition类都是单独存在的。您可以通过实现 IFSMTransitionCondition 接口来创建自己的condition 类。
-
在本插件中,当您想要将一个State链接到另一个State时,不需要通过自己创建Transition,只需要使用本框架中的CreateFSMStateToAnotherFSMStateTransition 函数即可,您所需要做的就是在调用这个API函数的时候,传进你想要进行链接的两个State实例,然后框架它将会自动地在两个State之间创建一个Transition。
-
在本插件中的说明文档详细地阐述了如何使用本FSM框架以及在Demo场景中的AI坦克师是如何被编码的。
在线说明文档
所支持的Unity的版本
5.6.6 或 更高
下载地址
您可以从Unity Asset Store上进行下载:Finite State Machine System