• 腾讯开源项目——behaviac——学习1


    https://opensource.tencent.com/

    教程:
    https://www.behaviac.com/language/zh/category/%E6%96%87%E6%A1%A3/%E6%95%99%E7%A8%8B/

    原理和流程:
    bahaviac:编辑器+运行时
    行为树:描述了指定的agent类型的行为,利用各种节点和类型信息来创建行为树。
    运行时:根据编辑器导出的类型信息,执行导出的行为树。
    类型信息:包括Agent类及其成员属性、成员方法和实例等,以及枚举和结构体类型。

    原型设计工具
    在编辑器种创建一个类型,并且创建它的属性和方法,导出C++或者C#源码

    导出代码格式:
    配置文件格式:xml、bson
    代码类型:cpp、c#
    xml和bson作为数据,可以被加载;
    cpp和c#为源码直接编译为可执行程序;

    优点:
    1、c++版本支持全平台,可以用在客户端,也可以用作服务端。一套逻辑,避免重复开发。

    缩写:
    BT:行为树
    FSML:状态机
    HTN:层次任务网络

    clone网址:https://github.com/Tencent/behaviac

    编辑器编译和运行:
    在这里插入图片描述
    打开后,编译并执行:
    在这里插入图片描述
    什么是行为树:
    节点:是一个行为
    节点的状态:成功、失败、运行中
    优点:暂时未知

    运行:dmeo_running

    报错:

    #ifdef _RTC_CONVERSION_CHECKS_ENABLED
    #ifndef _ALLOW_RTCc_IN_STL
    #error /RTCc rejects conformant code, so it is not supported by the C++ Standard Library. Either remove this \
    compiler option, or define _ALLOW_RTCc_IN_STL to acknowledge that you have received this warning.
    #endif // _ALLOW_RTCc_IN_STL
    #endif // _RTC_CONVERSION_CHECKS_ENABLED
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    在这里插入图片描述
    在这里插入图片描述
    即可。

    在这里插入图片描述
    如上图,为了清晰说明运行状态,来看另一个例子。在这个例子中,Condition,Action1,Action3是3个函数。

    0号节点是个Loop节点,循环3次。
    1号节点是个Sequence节点
    2号节点模拟一个条件,直接返回成功。
    3号节点Action1是一个动作,直接返回成功。
    4号节点Action3同样是一个动作,返回3次运行,然后返回成功。

  • 相关阅读:
    NPM 常用命令(八)
    python学习之5个让日常编码更方便简单的库
    OKHTTP断点续传
    CSS_文字渐变
    使用树莓派学习Linux系统编程的 --- 库编程(面试重点)
    asp.net core EF Sqlserver
    深度学习YOLO抽烟行为检测 - python opencv 计算机竞赛
    一个冒泡排序引发的思考
    Codeforces Round 903 (Div. 3)
    如何通过低代码开发平台实现CRM客户关系管理系统
  • 原文地址:https://blog.csdn.net/wodownload2/article/details/127795533