標籤:
本系列文章由@萌萌的一天 出品,未經博主允許不得轉載。
Behavior Designer行為樹外掛程式介紹
Behavior Designer是U3D AssetStore上很優秀的一款插架,它在基於Behaviour Tree相關原理的基礎上拓展出了更加複雜的模組,並且運用了很強大的人工智慧技術。第一個將Behaviour Tree概念應用到遊戲的產品是Xbox上的《Halo 2》,之後更多的遊戲開發人員選擇應用Behavior Tree而不是Hierarchical FSM來控制人工智慧。下面說說行為樹的概念吧。
簡單來說,行為樹就是將所有可能發生的狀態進行模組化,將狀態抽象成一個個的行為,然後在每個行為之間可以增加複合節點(Composites Node)進行每個節點之間邏輯控制,裝飾節點(Decorator Node)進行子節點狀態的控制,行為節點(Action Node)進行具體行為的處理,條件節點(Conditionals Node)用於判斷該條件是否成立等。關於上述節點的具體內容會在之後進行詳細的解釋,接下來說說如何在U3D中使用Behavior Designer這款外掛程式。
行為樹外掛程式下載方式
Behavior Designer這款外掛程式可以很容易得在AssetStore上搜尋到,目前售價是$75,推薦商用者從官方的平台上進行購買和使用,便於今後的功能維護和持續更新等。
不過對於初學者來說,75美元可能太貴。下面放出一份1.5.5版破解版外掛程式:
點我點我點我 提取碼:hms9
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Behavior Designer行為樹的簡單使用
將包匯入到Unity中之後,我們可以看到在菜單面板上出現了“Tools”一項,通過點擊它下邊的“Behavior Designer”--->
"Editor",我們就可以如下的行為樹面板了。
左側面板表示行為樹中的各種節點,比如有我們之前介紹的複合節點(Composites Node)、裝飾節點(Decorator Node)、行為節點(Action Node)、條件節點(Conditionals Node)等,下級中的每一種選項都代表這不同的節點功能。
右側面板是行為樹邏輯主視窗,你添加的每一種行為都會顯示在這個面板底下。當我們在遊戲中選中任意一個Gameobject,之後我們可以通過右鍵點擊面板--->點擊"Add Behavior Tree",給這個物體上添加一個行為樹,此時我們會發現這個物體上也會自動掛上一個叫做Behavior Tree的指令碼組件,點擊"Open"可以方便快捷的開啟行為樹主視窗。
接下來用一個簡單的例子來說明行為樹是的具體建立過程,比如讓一個坦克在兩點之間自動巡邏。
我使用了Unity官方的一個模型情境,首先在情境中建立一個坦克,以及坦克即將要巡邏的兩個點WayPoint1,WayPoint2,比如的方式:
點擊坦克,從菜單上的“Tool”進入行為樹邏輯主視窗進行行為樹建立(或者直接添加BehaviorTree組件)。之後從左側面板下找到“Patrol”(巡邏)行為,添加到主視窗,並設定相應的行為屬性(移動速度,轉身速度,巡邏點等)。
注意Patrol行為的說明,它是使用NavMesh進行類比巡邏的。
所以我們需要給坦克添加NavMesh組件,並且還要對整個情境的Navigation進行烘焙。
設定完之後,我們發現坦克就可以正常的在兩點之間巡邏了:
以上只是一個行為樹使用的簡單例子,可能新手對裡面有一些東西,比如節點屬性、NavMesh等不太理解,這些會在之後的博文中會做詳細的解釋。
總之歡迎大家能夠踴躍進行討論,歡迎各種交流指正~~~~~~~~~~~~~
【U3D】初識Behavior Designer行為樹(一)