本節書摘來自華章出版社《unity 3d人工智能程式設計》一 書中的第2章,作者:(美)基奧(kyaw,a.s.),(美)彼得斯(peters,c.),(美)斯瑞(swe,t.n.),更多章節内容可以通路雲栖社群“華章計算機”公衆号檢視。
有限狀态機
在本章中,我們将以一個簡易的坦克遊戲為例,學習如何在一個unity3d遊戲中使用有限狀态機。我們将詳細解析這個遊戲項目中的代碼群組件。在這個遊戲中,玩家能夠控制一輛坦克,敵方坦克會參照場景中的4個航點走動。一旦玩家坦克進入它們的可視範圍内,它們将開始追逐玩家的坦克。而一旦它們與我們的距離足夠接近可以攻擊,它們就會向玩家的坦克開火。這夠簡單了吧?我們将通過實作有限狀态機來控制敵方坦克人工智能的狀态。首先,我們将用簡單的switch語句來實作我們的坦克人工智能的狀态,然後使用有限狀态機架構(一個改編過的c#有限狀态機架構,。