名稱&別名:
名稱:Finite State Machine 或者是 Finite
State Automate,常常被稱作FSM。
什麼是有限狀態機?
以Unity來說,Animator就是一個非常典型的例子(見下圖),每一個紅框處就是一個狀態(State),他會根據你設定的規則與條件做狀態的切換.
FSM的優點:
- 實現快速簡單,FSM的編碼實現簡單並且多樣化.
- 執行效率高,本質上遵守硬體編碼規則.
- 靈活易於擴展,有限狀態機容易維護修改和擴展功能.
- 方便查詢錯誤和調適,和Animator一樣執行到那裡有問題可以直接看到.
FSM的缺點:
- FSM並行性很差,雖然可以實現併發,但容易出現問題.
- 大量狀態容易混亂,Animator裡面的蜘蛛網(見圖1)一樣的狀態就很形象的說明這一個問題.
- 狀態機實現高層次目標較難,例如AI裡面巡邏行為,攻擊行為,逃跑行為,這些都是使用了低層次的移動、攻擊組成的.
圖1:Animator蜘蛛網
參考連接:維基百科
沒有留言:
張貼留言