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),然后在不同任务中传递。