2016年1月15日 星期五

FSM有限狀態機01-介紹


名稱&別名:


名稱:Finite State Machine 或者是 Finite State Automate,常常被稱作FSM



 什麼是有限狀態機?


以Unity來說,Animator就是一個非常典型的例子(見下圖),每一個紅框處就是一個狀態(State),他會根據你設定的規則與條件做狀態的切換.







FSM的優點:

  1. 實現快速簡單,FSM的編碼實現簡單並且多樣化.
  2. 執行效率高,本質上遵守硬體編碼規則.
  3. 靈活易於擴展,有限狀態機容易維護修改和擴展功能.
  4. 方便查詢錯誤和調適,和Animator一樣執行到那裡有問題可以直接看到.

FSM的缺點:

  1. FSM並行性很差,雖然可以實現併發,但容易出現問題.
  2. 大量狀態容易混亂,Animator裡面的蜘蛛網(見圖1)一樣的狀態就很形象的說明這一個問題.
  3. 狀態機實現高層次目標較難,例如AI裡面巡邏行為,攻擊行為,逃跑行為,這些都是使用了低層次的移動、攻擊組成的.

1:Animator蜘蛛網


參考連接:維基百科

沒有留言:

張貼留言