news 2026/9/13 21:44:44

导出和使用Cplusplus行为树-–-behaviac

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
导出和使用Cplusplus行为树-–-behaviac

原文

  • 在“导出行为树”对话框中,选择“C++ Behavior Exporter”,如下图所示:

  • 点击上图中右侧的“…”设置按钮,在弹出的“C++导出设置”对话框中设置生成文件所在的位置,并可以添加项目中游戏类(从Agent类派生而来)所在的.h头文件,添加的头文件将会被包含在生成的.cpp文件中,如下图所示:

  • 回到“导出行为树”对话框,点击“导出”按钮,开始导出C++文件。在指定的导出位置(默认为当前工作区的导出路径)会自动生成一个名为behaviac_generated的文件夹,里面生成了behaviorstypes两个子文件夹,如图3所示:
  • behaviors文件夹中含有generated_behaviors.h及其他单个的行为树.inl文件(如果没有勾选“导出统一文件?”,则对每一棵行为树都会生成独立的.inl文件,这些.inl文件会自动include在generated_behaviors.h文件中,无需在自己的项目中再include这些.inl文件,只需要include这个generated_behaviors.h文件即可)。
  • types文件夹中含有agentproperties.h(为Agent类自定义的属性和方法,会扩展在该文件中)、customizedtypes.h/customizedtypes.cpp(自定义的枚举和结构体类型,会生成在这两个文件中)以及其他自定义Agent子类的文件(这些文件是为添加的Agent子类自动生成的.h/.cpp文件,需要程序员补充代码进一步实现这些Agent子类的逻辑)。

  • 注意:这些自动生成的文件(除了上面提及的单个的行为树.inl文件之外)都需要包含到自己的游戏项目中,一起参与整个项目代码的编译和构建。
  • 在项目中包含了这些自动生成的代码文件后,就可以与前面提及的导出和使用XML/BSON行为树一样的接口和方式加载使用这些C++文件,只是需要将文件格式改为EFF_cpp
behaviac::Workspace::GetInstance()->SetFileFormat(behaviac::Workspace::EFF_cpp);
:test\demo_running>tree /A /F :.|BTPlayer.cpp|BTPlayer.h|CMakeLists.txt|demo_running.cpp|\---behaviac|demo_running.workspace.xml|demo_running.xml|+---behaviors||demo_running.xml|||\---behaviac_meta|demo_running.meta.xml|\---exported|demo_running.bson.bytes|demo_running.xml|+---behaviac_generated|+---behaviors||behaviac_generated_behaviors.cpp||behaviac_generated_behaviors.h|||\---types||behaviac_types.h|||\---internal|behaviac_agent_headers.h|behaviac_agent_member_visitor.h|behaviac_agent_meta.cpp|behaviac_agent_meta.h|behaviac_customized_types.cpp|behaviac_customized_types.h|behaviac_headers.h|\---meta demo_running.meta.bson.bytes demo_running.meta.xml
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/14 9:34:09

微信小程序表格组件实战:从零到精通的数据展示方案

微信小程序表格组件实战:从零到精通的数据展示方案 【免费下载链接】miniprogram-table-component 项目地址: https://gitcode.com/gh_mirrors/mi/miniprogram-table-component 还在为微信小程序中的数据展示而烦恼吗?面对复杂的数据表格需求&am…

作者头像 李华
网站建设 2026/9/14 0:12:19

Qwen3-VL-30B跨模态推理性能评测:为何需要强大GPU支持?

Qwen3-VL-30B跨模态推理性能评测:为何需要强大GPU支持? 在智能文档处理、医疗影像分析和自动驾驶感知系统日益复杂的今天,AI模型不仅要“看见”图像,更要“理解”图文之间的深层语义关系。这种能力的跃迁,正由以 Qwen3…

作者头像 李华
网站建设 2026/9/14 11:37:31

大数据领域分布式计算的分布式事务处理

大数据领域分布式计算的分布式事务处理 关键词:分布式事务、大数据、ACID、CAP定理、BASE理论、两阶段提交、三阶段提交 摘要:本文深入探讨大数据环境下分布式事务处理的核心原理和技术实现。我们将从分布式系统的基本概念出发,分析分布式事务…

作者头像 李华
网站建设 2026/9/14 6:03:27

Qwen-Image-Edit-2509支持对象替换与风格迁移的底层原理分析

Qwen-Image-Edit-2509 支持对象替换与风格迁移的底层原理分析 在数字内容爆炸式增长的今天,图像编辑早已不再是设计师专属的技能。从电商平台的商品图更新,到社交媒体创作者的视觉表达,再到广告营销中的快速迭代,高效、精准、低成…

作者头像 李华
网站建设 2026/9/14 14:09:10

Stable Diffusion 3.5 FP8如何实现低显存占用?技术架构深度解读

Stable Diffusion 3.5 FP8:如何用8比特撬动高质高效文生图? 在生成式AI的浪潮中,图像生成模型正面临一个根本性矛盾:用户对画质、细节和语义理解的要求越来越高,而模型参数规模的增长却让部署成本急剧上升。一张“完美…

作者头像 李华
网站建设 2026/9/14 14:25:36

44、高效运维与快速输入:实用技巧与解决方案

高效运维与快速输入:实用技巧与解决方案 在日常的系统运维和命令行操作中,我们常常会遇到各种需要提高效率、简化操作的场景。本文将为你介绍一系列实用的技巧和方法,帮助你更轻松地完成系统管理任务,减少不必要的打字工作量。 1. 进程搜索与正则表达式 在使用 ps 和 …

作者头像 李华