• Behaviac 腾讯开源行为树 简介(给策划)


    1.为什么使用BT
    FSM模型的优势之一是简单。但是FSMs需要用转换(Transition)连接状态(State),因此,状态(State)失去了模块性(Modularity)。
    BT的主要优势之一就是其更好的封装性和模块性,让游戏逻辑更直观,开发者不会被那些复杂的连线绕晕。

    FSM

    BT

    行为树的基本概念:

    • 执行每个节点都会有一个结果(成功,失败或运行)
    • 子节点的执行结果由其父节点控制和管理
    • 返回运行结果的节点被视作处于运行状态,处于运行状态的节点将被持续执行一直到其返回结束(成功或失败)。在其结束前,其父节点不会把控制转移到后续节点。

    大致分为四类:行为(action), 条件(conditional), 装饰(decorator), 组合(composite)
    其中 [行为],[条件] 为子节点; [装饰], [组合]为父节点

    行为节点:子节点,执行具体动作,必定返回成功,比如:赋值,输出日志
    条件节点:子节点,执行具体动作,返回具体执行结果,比较复杂的行为:寻找敌人,检查buff等等

    装饰节点:父节点,更具子节点的返回值,决定自身的返回值,装饰子节点的返回值,比如:逆变(Inverter),重复(Repeater)等
    组合节点:父节点,组合控制节点,根据子节点的返回值决定自身的返回值,以及子节点调用顺序,常用的控制节点有以下三种:
        选择(Selector):    选择其子节点的某一个执行(顺序,无序,权重),第一个子节点返回成功后结束,返回成功,一个子节点都没有成功,返回失败
        序列(Sequence): 将其所有子节点依次执行,也就是说当前一个返回“完成”状态后,再运行先一个子节点,全部子节点成功执行返回成功,某一子节点失败后立即退出,返回失败
        并行(Parallel):     将其所有子节点都运行一遍,返回和中断可配置


















    附件列表

    • 相关阅读:
      STM32学习笔记1(ADC多通道采样)
      SQL Server索引管理之六大铁律
      如何激励员工?
      第一周学习计划
      山寨STL实现之traits,construct&destruct
      山寨STL实现之内存池
      山寨STL实现之vector
      山寨STL实现之allocator
      Python 开发环境搭建
      Java | Python 流程控制对比
    • 原文地址:https://www.cnblogs.com/Hichy/p/7906535.html
    Copyright © 2020-2023  润新知