Tasks列表 -- Composites選項
Sequence:圖標是“箭頭”,相當於And邏輯。下接多個子任務,它們從左到右依次執行。所有子任務執行成功,則Sequence返回成功;任一子任務執行中,則Sequence返回執行中;任一子任務失敗,其后邊(后面)的子任務都不會再執行,Sequence返回失敗。即多個順序執行,否則失敗。Sequence的打斷Abort Type選項:該Sequence能打斷誰。
- Lower Priority:能打斷Sequence右邊的任務。
- Self:能被自身的子任務打斷。
- Both:以上兩種情況都能中斷。
Selector:圖標是“問號”,相當於Or邏輯。下接多個子任務,它們從左到右依次執行。只要有任一子任務執行成功,則Selector返回成功,該子任務右邊(后面)的子任務不再執行。所有子任務都執行失敗,則Selector返回失敗。即多個選出一個,否則失敗。
Tasks列表 -- Composites選項 -- Movement:
需要導入擴展包Behavior Designer - Movement_Pack,Actions里面多了個控制移動的Movement選項。 Patral:物體在多個點間來回巡邏,創建點物體后拖拽引用。需要給該物體添加NavMeshAgent組件,為場景中的地面物體勾上Navigation Static並烘培導航網格。
Seek:物體朝某個點移動,圖標“o~>o”。目的地可以通過指定Target Transform(傳入一個游戲物體的引用)或者指定Target Position(直接輸入坐標值)。同樣需要給物體添加NavMeshAgent組件。
Tasks列表 -- Condition -- Movement -- MovementCan See Object:該物體是否看到了目標物體,圖標“o<|”。可以通過拖拽目標物體來指定,或者使用Object Layer Mask只要看到某個層里的任一物體即返回True。Object In Sight可以存儲看到的目標物體。可創建一個變量來保存看到的目標物體(變量類型為Transform),然后在不同任務中傳遞。