当前位置: 代码迷 >> 综合 >> 【游戏开发计划】【UE4 AI的学习】初识AI
  详细解决方案

【游戏开发计划】【UE4 AI的学习】初识AI

热度:1   发布时间:2024-02-11 05:32:52.0

在UE4中,对于AI来说 需要四个块进行控制:

     一、敌人pawn蓝图

     二、Ai controller  作用是由敌人pawn蓝图调用 然后在Ai controller中选择使用的黑板以及行为树

     三、黑板   作用是在里面存放各种变量 然后行为树读取黑板中的各个键来做出反应

     四、行为树 存放AI执行的各种逻辑

 

     这四者之间的相互关系是:pawn蓝图指定自己使用哪一个AI Controller,然后在Ai controller 里面选择 运行哪一块黑板以及哪一个行为树(猜想1 我猜测敌人可能会有时切换行为树,这样的话 是不是可以做在AI Controller 里面?),然后由当前运行的行为树,读取黑板中的值,然后按照行为树里面的事件逻辑进行运行。

 

    首先在行为树中,组合节点分为三类:sequence、selector、simpleparallel这三类。

    sequence表示:按照顺序 执行该节点下的所有节点,并且当其中有一个节点返回fail时,停止执行后续所有行为并且 sequence节点返回 fail。

    selector表示:按照顺序执行该节点下的所有节点,并且当其中有一个节点返回success时,停止执行后续所有行为并且selector节点返回success。

    simpleparallel表示:平行执行任务,左边有个紫色的快,从那个块中拉出的其他节点会被视作主要任务,从右边灰色块中拉出的任务被视为平行任务,当主要任务结束时,主要任务返回success/fail 则simpleparallel返回success/fail,与平行任务无关。finsh mode表示结束模式, immediate表示 主要任务结束 则平行任务强行终止,delay表示 主要任务结束 等平行任务结束后 再终止。

组合节点是用来组装各节点的逻辑。

任务节点:

  任务节点是指具体描述该任务是做什么事情。是AI行为执行终点。

decorator节点:

  在任务节点执行过程中,突发某些事件 控制或打断任务节点。

  相关解决方案