Behavior Designer 是一個行為樹插件,是一款為了讓策劃,程序員,美術人員方便使用的可視化編輯器。Behavior Designer 提供了強大的 API 可以讓你輕松的創(chuàng)建 tasks(任務),配合 uScript 和 PlayMaker 這樣的插件,可以不費吹灰之力就能夠創(chuàng)建出強大的AI 系統(tǒng),而無需寫一行代碼,本文將介紹所有 Behavior Designer 的功能特性。如果你還不了解什么是行為樹(behavior trees)請查看“行為樹的概述”。依賴于 Behavior Designer插件, 你完全可以不用關心什么是行為樹(behavior trees)但是,如果你了解一些行為樹的知識,這將有助于你使用 Behavior Designer,包括一些常用組件, 例如:tasks(任務),action(行為),composite(復合) ,conditional(條件),decorator(修飾符),當你第一次打開 Behavior Designer,會出現下面的窗口:

這里一共分為四大部分:
下圖中的第一個部分是主要操作區(qū),用來創(chuàng)建你的行為樹。
第二部分是面板屬性區(qū),這里可以編輯一個行為樹的特定屬性,添加新任務,創(chuàng)建新的變量,或者編輯 tasks(任務)的參數。
第三部分是工具欄,你可以添加/刪除行為樹,鎖定當前行為樹,查看所有行為樹, 等等。
第四部分是調試工具欄。你可以啟動/停止,逐步調試,暫停,查看錯誤。

第一部分是主要的設計工作的區(qū)域,在這個區(qū)域,你可以創(chuàng)建新的Task(任務)和設計這些 Task(任務)的行為樹。第一步要做的就是創(chuàng)建一個行為樹 (behavior tree) ,通過右鍵選擇“Add Behavior Tree”可以創(chuàng)建新的 behavior tree 行為樹,或者通過上方的工具欄 Lock(鎖定)旁邊的加號添加一個新的行為。 一旦行為樹創(chuàng)建完畢,你就可以開始添加 tasks(任務)了。添加一個 task 可以通過右鍵點擊空白區(qū),或者左側 2 區(qū)中的 Tasks 標簽來創(chuàng)建。一旦你的 task 創(chuàng)建完畢,你將看到類似于下面圖中的效果:


這里的 Entry task 是默認添加的,作為根節(jié)點進行?添加后續(xù)的Task,這里能看到添加的 Sequence(序列)節(jié)點有錯誤,這是因為這個 Sequence 必須有后續(xù)子節(jié)點,只要添加了子節(jié)點,這個錯誤就會消失,現在我們已經有了第一個 Task,接下來讓我們多添加幾個:

你可以創(chuàng)建 Sequence(序列)節(jié)點,或者 selector(選擇器)節(jié)點,他們都是 task(任務)。通過多個這種節(jié)點的組合,你可以創(chuàng)建很深的層次結構。 如果在創(chuàng)建過程中你不小心搞錯了什么,那么選擇有錯誤的節(jié)點,delete 刪除掉即可。 Behavior Designer 的執(zhí)行順序是從左到右的順序執(zhí)行,并且是深度優(yōu)先。上圖中的執(zhí)行順序如下:SequenceA,SelectorA,SequenceB,ActionA,ActionB,ActionC,SelectorB,ActionD ,ActionE

現在我們已經有了一個基礎的行為樹,讓我們改改參數看看,選擇 ActionC 節(jié)點然后查看左側的屬性面板,選到 Inspector 視圖,你可以再這里重命名 這個 Task(任務)名稱,設置參數,或者輸入一個注釋在(Comment ).
在左側的界面中有出了 Inspector 還有其他三個標簽(Behavior,Tasks,Variables)Variables 面板允許你創(chuàng)建共享變量,并改變變量值。關于這個面板的具體信息,在后面章節(jié)介紹。Tasks 面板列出了所有可用的 tasks(任務)這里的 tasks 和你在空白區(qū)右鍵彈出的菜單中的 tasks 是一樣的,這個列表可以通過上方的搜索框輸入,快速定位到你想要創(chuàng)建的 tasks 任務,包括 action(行為),composite(復合),conditional(條件),decorator(修飾符)。最后一個面板,behavior 面板,顯示的是當前行為樹 Behavior Tree 組件的屬性,這個屬性也會出現在所捆綁的 Gameobject 的屬性面板上!各個面板具體介紹請看后續(xù)章節(jié)介紹。
最后的是工具欄,工具欄提供了例如添加/刪除等基礎的行為樹操作的工具,

上圖中 1 號位置的箭頭是用來預覽不同行為樹,如果在同一個 Gameobject 上添加了多個行為樹的話,2 號位置用來顯示所有行為樹,并可以選擇某個行為樹,3 號位置是當前場景中擁有行為樹的 Gameobject,可以展開下拉菜 單并查看和選擇,4 號位置也是用來選擇當前 Gameobject上的不同行為樹,如果有多個的話,5 號是刪除當前行為樹,6 號增加一個行為樹,7 號鎖定 當前行為樹試圖,不過因為在場景中點擊其他資源導致行為樹設計面板中的內容切換,8 號是保存當前行為樹, 9 號是導出當前行為樹作為一個 Scriptable 資源以便其他行為樹調用。