天天看點

Unity 行為樹插件(三)

接上一篇,這裡做一個簡單案例,用行為樹插件實作AI巡邏和追随,這裡需要用到行為樹插件的第二種Behavior Designer - Movement_Pack_v1.3.2,同樣在AssetStore中可以找到,在行為樹插件的第一篇中的連結裡面也有,這裡不貼出,導入這個插件,這個插件主要的功能是用來控制行為樹中的移動功能。

設定兩個目标點,添加一個敵人,讓它開始巡邏,這裡巡邏用到了Actions下的Movement裡面的patrol任務,參數也是很簡單,這裡直接貼出,設定好路徑點,給敵人添加上行為樹,這個敵人的巡邏也就做好了
Unity 行為樹插件(三)
我的Speed和AngularSpeed使用的是行為樹插件裡面的局部變量,這個變量可以在Variable面闆中添加和設定,也可以直接進行指派,我的Variable面闆設定如下:
Unity 行為樹插件(三)
Name表示局部變量的名稱,Type表示變量類型,設定後就變成了下面的EnemySpeed,這樣就可以直接進行局部變量指派了,友善之後的使用。這樣,敵人的巡邏就完成了 
接下來,完善追随,這個就是主角身上的行為樹了,追随用到了條件的判斷,如果目前看到了敵人,那麼就開始追逐,要是沒看見就直接去到目标位置,是以這裡需要進行選擇,也就是用Composites裡面的Selector,第一種情況,看見了敵人,做個判斷,是否看見敵人,用Conditionals裡面的條件句CanSeeObject,看見了就執行追逐,用Actions裡面的Seek進行處理,這兩個是一個順序的行為,是以要放在Sequence下,另外一種情況就簡單了,直接使用Seek向目标點移動的執行,如下圖:
Unity 行為樹插件(三)

在Sequence的左上角有個箭頭标志,這個東西的作用是表示可以打斷箭頭方向的行為,執行其他行為,這個标志隻有Composites可以使用,因為它是用來控制流程,是以這個打斷就是它特有的。

行為樹的簡單的介紹和了解也就到此結束了,Over。

繼續閱讀