谁能深入浅出地说说“有限状态机”与“行为树”?
jerkzhang
简单说一说自己的理解吧:
有限状态机就类似如下这种:
状态1 (判断一下条件)———> 状态2(判断一下条件)————> 状态3(……)
|————> 状态4(……)
反正就是从一个状态到另外一个状态。
CPU开销比较小;逻辑很清晰。
但是,如果是太复杂的逻辑,使用状态机的方式就会比较有点小复杂。
行为树,就是每一帧都判断,当满足某个条件,然后就去弄啥。等于是一种决策树。CPU开销会大很多;但是适合更高效地应用于一些复杂的场景。也是一种牺牲硬件性能,但几何倍数提高开发效率的一种方式。
状态机与行为树各有利弊,且不是互斥的,可以组合使用。
我个人的观点:行为树并不是完全优于状态机并可以取代状态机的存在;这是两种技术路线,各有利弊;并不互斥。合适的场景用合适的技术选型。(说行为树完全碾压状态机的是扯淡)