用behaviac框架开发行为树 — unity篇

一、介绍

Behaviac官网:

behaviac – Tencent behaviac, Game AI, Behavior Tree, Finite State Machine, Hierarchical Task Network, BT FSM HTN, 腾讯开源, 游戏AI, 行为树,有限状态机,分层任务网络

https://www.behaviac.com/

        behaviac是游戏AI的开发框架组件,也是游戏原型的快速设计工具。支持全平台,适用于客户端和服务器,助力游戏快速迭代开发 。

        编辑器可以运行在PC上,操作方便直观可靠,支持实时和离线调试;编辑器可以导出xml,bson等多种格式,更可以导出C++、C#源码,提供最高效率。

        运行时支持全平台,有C++和C#两个版本,原生支持Unity。

        已被多款知名游戏及更多其他预研项目使用。

        所有代码包括编辑器和运行时全部开源:GitHub - Tencent/behaviac: behaviac is a framework of the game AI development, and it also can be used as a rapid game prototype design tool. behaviac supports the behavior tree, finite state machine and hierarchical task network(BT, FSM, HTN)

https://github.com/Tencent/behaviac

        Behaviac框架不仅支持行为树BT,还支持有限状态机FSM、和另外一个设计模式 — HTN (Hierarchical Task Network 分层任务网络)等。

二、开发框架

三、示例 —— 卡丁车

需求:需要设计一个卡丁车, 遇到弯道就漂移,直道就一直直行。

第一步:打开BehaviacDesigner编辑器。

第二步:新建工作区。

第三步:新建Agent实例—player,声明method,生成声明代码

(智能体(Agent):意思是一个被AI操控的对象物体)

 

 第四步:新建行为树,拖拽节点,赋值对应method。

 第五步:行为树xml、cs代码导出。

第六步:实现cs代码中已声明的method。

注意:自己的代码需要添加“///<<< BEGIN WRITING YOUR CODE”和“///<<< END WRITING YOUR CODE”之间,以便编辑器下次生成代码的时候,可以自动合并手工添加内容生成内容

第七步:挂载 player 脚本 到对应的GameObject 上。

第八步: 运行,调试。 

运行效果如下:

<iframe allowfullscreen="true" data-mediaembed="bilibili" id="DALAtkuX-1642411331275" src="https://player.bilibili.com/player.html?aid=935747288"></iframe>

相关文章

实现Unity AssetBundle资源加载管理器 AssetBundle是实现资源...
Unity3D 使用LineRenderer绘制尾迹与虚线 1.添加LineRendere...
Unity 添加新建Lua脚本选项 最近学习Unity的XLua热更新框架的...
挂载脚本时文件名和类名的关联方式 写过Unity脚本的人应该都...
Unity单例基类的实现方式 游戏开发的过程中我们经常会将各种...
这篇文章主要介绍了Unity游戏开发中外观模式是什么意思,具有...