zoukankan      html  css  js  c++  java
  • UE4的AI学习(1)——基本概念

    AI学习当中,不学习行为树基本概念就不能明白具体实例中的操作意义,但是没有经过具体实例实验,又觉得基本概念抽象难以理解。建议先泛读(1)(2)后再对具体的细节进行死磕,能较深的理解行为树的具体概念。第一节对行为树的基本概念做个简要的介绍,第二节对行为树的官方案例做进一步分析。个人的学习顺序(2)->(1)       ->(2),请感兴趣的同学根据自己的喜好自行调整阅读顺序。

    一、AI学习中的两大概念

    1.行为树

    行为树是驱动AI运动以及做出AI决策的一棵逻辑树。

                       

    图一 

    2.Blackboard

    行为树中所需的数据都存储在Blackboard里。


    二、行为树中的几大节点

    1.Root节点

    Root节点是行为树的根

    特点:

    (1)只能有一个连接

    (2)无法被Decorator或Sevice节点附着

    (3)Root没有自身属性,选中后可以显示行为树的属性,如:Blackboard资源。

    2.Composite节点

    Composite是行为树分支的非Root非叶子节点,即对分支以及分支的执行方式进行定义。

    有三种类型的Composite节点:

    (1)Selector

    (2)Sequence

    (3)SimpleParallel

    3.Task节点

    Task节点是行为树的叶子节点,也是行为树的执行节点,可用来执行具体的任务。如:移动AI,发出噪音等。

    4.Decorator节点

    Decorator节点是行为树中的条件判断语句。它们可以附着在Composite节点或者Task节点上,实现分支数的调整以及Task节点的执行与否。如:判断的AI当前距离与玩家的距离是否小于阈值。图中的蓝色框图都是Decorator节点。需要注意的是:图中的Blackboard Based Condition是Decorator节点是判断Blackboard中的某个key值是否被set,而Blackboard里的数据去Blackboard asset中查看。



    5.Service节点

    Service节点是行为树中Tick的存在。它们附着在Composite节点上,而且只有当Composite节点的分支被执行时,Service节点才会按所定义的频率进行执行。Service节点通常对Blackboard的值进行更新和修改,如:检测AI附近是否有玩家,有的话将Blackboard里定义的bool变量bIsEnemyNearBy置为True。



  • 相关阅读:
    iOS事件机制,以及不同手势使用touchesBegan等表现形式
    UIview 动画
    核心动画与UIView
    代理与Block
    关于清除浮动的几个写法
    关于一个自适应屏幕的高宽
    关于loading 的一个css样式
    用margin还是用padding?(3)—— 负margin实战
    jquery回顾part1——选择器
    解读mysql主从配置及其原理分析(Master-Slave)
  • 原文地址:https://www.cnblogs.com/Leonhard-/p/6511806.html
Copyright © 2011-2022 走看看