1、Selector选择器——选择其中一个任务执行。Sequence——下面任务从左到右依次执行,第一个成功执行完成才会执行第二个。服务器设置条件,装饰器接收条件。16min
2、导航图:体积(Volumes)——导航网格体边界体积(NavMeshBoundsVolume)-按P键显示
3、行为树——新建服务——函数重载——事件接收TickAI(EventReceiveTickAI)——由通道检测线条(LineTraceByChannel)——ControlledPawn-获取Actor位置(GetActorLocation)连接Start——GetPlayerPawn-获取Actor位置(GetActorLocation)连接到End——ControlledPawn-创建数组(MakeArray)连接到ActorsToIgnore——ControlledPawn-获取Actor旋转(GetActorRotation)——ControlledPawn-获取Actor向前向量(GetActorForwardVector)——玩家位置-僵尸位置—规格化(Normalize)和僵尸向前的向量点乘积(Dot)值大于0.7小于1判断大致朝向一样——由通道检测线条ReturnValue-NOT——和方向AND——黑板增加Object变量目标基类选择Actor——服务新增变量看见目标选择器类型设置为黑板键选择器并公有变量——获取变量——将黑板值设为对象(SetBlackBoardValueAsObject)

4、黑板新建巡逻目标位置向量——行为树新建巡逻任务——函数重载事件接收执行AI(EventReceiveExecuteAI)——ControlledPawn-获取Actor位置(GetActorLocation)——边界框中随机点(RandomPointInBoundingBox)XY设置300——新增变量巡逻位置选择器类型为黑板键选择器并公有——获取变量——SetBlackboardValueAsVector
FinishExecute