對於目前ai中常用的演算法或模型, 如a*演算法、有限狀態機、行為樹, 從本質上都是乙個對於圖的一種路徑選擇演算法。
應用行為樹可以帶來如下好處:
1、讓功能模組與邏輯模組解耦。具體來說是指乙個功能模組agent(類似於mvc裡的model), 只需要包含資料和功能介面, 不需要包含外部邏輯。而邏輯模組(類似於mvc裡的controller)根據agent的資料和介面, 用行為樹驅動驅動agent的行為,實現資料更新。
2、讓邏輯視覺化, 而不是用code來堆砌。這樣有利於開發和維護邏輯模組。
3、可以實現邏輯的熱載入, 即在不改變**的情況下, 載入不同的邏輯配置, 可以獲得不同的邏輯行為。
行為樹入門示例
一 行為樹的基本思想 為ai指定ai控制器 通過ai控制器告訴ai按照行為樹來活動 行為樹通過黑板動態更新黑板上面的值來指引行為樹的各種行為,黑板充當了行為樹各個節點的共享媒介 二 行為樹三大節點 1 service節點 不斷更新黑板上的資料,是黑板的輸入方。2 decorator節點 根據黑板值判...
Unity 行為樹外掛程式(三)
設定兩個目標點,新增乙個敵人,讓它開始巡邏,這裡巡邏用到了actions下的movement裡面的patrol任務,引數也是很簡單,這裡直接貼出,設定好路徑點,給敵人新增上行為樹,這個敵人的巡邏也就做好了 我的speed和angularspeed使用的是行為樹外掛程式裡面的區域性變數,這個變數可以在...
基於行為樹的ai
我們現在做的遊戲,包括手遊,網頁遊戲,ai部分策劃那邊的需求並不複雜 待機,巡邏,行走,逃跑,攻擊,被擊 而且ai需求定了,也不會有太大的改動。所以用狀態機是乙個不錯的選擇,因為狀態機確實很簡單 我們一直都是用狀態機 行為樹,實現ai的另外一種方式,先簡單介紹一下行為樹的概念,然後我們用行為樹的方式...