【Unity3D進階4-9】Unity3D 有限狀態機

一、目錄

【Unity3D從入門到進階】文章目錄及設置這個專欄的初衷

二、什麼是有限狀態機

有限表示這個是有限度的不是無限的,狀態,指的是所擁有的所有狀態,這麼來理解,人有情緒,比如說生氣,無感,喜悅,難過,生氣,幸福等,那麼這些情緒是固有的幾種,是所謂有限,那麼那些情緒就是不同的狀態,人可以在這些狀態之中進行轉換,此時是開心的,下一秒有可能就是生氣的,這就是有限狀態機的原理。

一個有限狀態機是一個設備,或者是一個設備模型,具有有限數量的狀態,它可以在任何給定的時間根據輸入進行操作,使得一個狀態變換到另一個狀態,或者是使一個輸入或者一種行爲的發生。一個有限狀態機在任何瞬間只能處在一種狀態。

它的優點:

1.編程快速簡單,2.易於調試,3.很少的計算開銷,4.直覺性,5.靈活性。

三、作用分析

有限狀態機其實是狀態設計模式,爲了解決遊戲過於麻煩的狀態轉換(人物動畫過多),使用有限狀態機。

那麼如何實現狀態轉換呢:

  • 1.使用多態和Switch
  • 2.new(狀態設計模式)

比如說要實現一個遊戲中的一個NPC的AI, 他只做三件事,吃飯,睡覺,打豆豆,最直接,最簡答想到的代碼應該是這樣。

void Update()
{
	
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章