微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

用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>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐