news 2026/8/8 0:28:37

教程13:随机与概率相关节点的使用-–-behaviac

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
教程13:随机与概率相关节点的使用-–-behaviac

原文

本文档描述的是3.6及以后版本,对于3.5及以前的老版本请参考分类“3.5”。

为了方便使用,behaviac组件除了提供传统的序列、选择等组合节点之外,还提供了随机与概率相关的节点类型,主要包括随机序列(SequenceStochastic)、随机选择(SelectorStochastic)和概率选择(SelectorProbability)等节点。

这3个节点对于初学者容易混淆,本文将结合行为树中对这3个节点的使用来分别加以说明。

1. 创建类型信息

首先创建Agent子类“FirstAgent”及其成员方法Say(behaviac::string& value),Say()方法用于打印指定的参数,如下图所示:

2. 随机序列节点

如果对随机序列节点不熟悉,请首先查看其手册《随机序列节点》。

1. 创建行为树“sequencestochasticBT”,其中随机序列节点有3个动作子节点,分别输出“A”、“B”、“C”,如下图所示:

2. 随机序列节点的的属性“随机数”默认为空,表示使用系统默认的随机数产生器,当然也可以配置自己实现的随机数方法,这里我们保持为空即可,如下图所示:

3. 执行该行为树,结果如下图所示:

可以看到随机输出了“B”、“C”、“A”,但多次执行程序,发现都是输出这个顺序,并没有随机输出。这是由于没有调用随机种子方法,需要在代码中调用如下接口即可:

#ifBEHAVIAC_CCDEFINE_MSVCtime_t timer;time(&timer);behaviac::RandomGenerator::GetInstance()->setSeed((unsignedint)timer);#endif

3. 随机选择节点

如果对随机选择节点不熟悉,请首先查看其手册《随机选择节点》。

1. 创建行为树“selectorstochasticBT”,其中随机选择节点有3个动作子节点,分别输出“A”、“B”、“C”,如下图所示:

2. 随机选择节点的的属性“随机数”默认为空,表示使用系统默认的随机数产生器,当然也可以配置自己实现的随机数方法,这里我们保持为空即可,如下图所示:

3. 执行该行为树,结果如下图所示:

可以看到随机输出了“C”,多次执行程序,可以看到还会随机输出“A”或“B”。

4. 概率选择节点

如果对概率选择节点不熟悉,请首先查看其手册《概率选择节点》。

1. 创建行为树“selectorprobabilityBT”,其中概率选择节点有3个动作子节点,权值分别为20、30、50,表示分别会已20%、30%、50%的概率输出“A”、“B”、“C”,如下图所示:

2. 概率选择节点节点的的属性“随机数”默认为空,表示使用系统默认的随机数产生器,当然也可以配置自己实现的随机数方法,这里我们保持为空即可,如下图所示:

3. 执行该行为树,结果如下图所示:

可以看到随机输出了“B”,多次执行程序,可以看到还会随机输出“A”或“C”。

本教程相关的工作区和代码工程详见源码包的目录tutorials/tutorial_13。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/7 21:26:00

Windows 7系统下Umi-OCR兼容方案:让老旧设备也能高效文字识别

Windows 7系统下Umi-OCR兼容方案:让老旧设备也能高效文字识别 【免费下载链接】Umi-OCR Umi-OCR: 这是一个免费、开源、可批量处理的离线OCR软件,适用于Windows系统,支持截图OCR、批量OCR、二维码识别等功能。 项目地址: https://gitcode.c…

作者头像 李华
网站建设 2026/8/7 21:30:18

联想拯救者工具箱完整指南:解锁硬件潜能的一站式解决方案

联想拯救者工具箱完整指南:解锁硬件潜能的一站式解决方案 【免费下载链接】LenovoLegionToolkit Lightweight Lenovo Vantage and Hotkeys replacement for Lenovo Legion laptops. 项目地址: https://gitcode.com/gh_mirrors/le/LenovoLegionToolkit 联想拯…

作者头像 李华
网站建设 2026/8/7 19:56:43

暗黑3终极自动化辅助工具完整使用指南

暗黑3终极自动化辅助工具完整使用指南 【免费下载链接】D3keyHelper D3KeyHelper是一个有图形界面,可自定义配置的暗黑3鼠标宏工具。 项目地址: https://gitcode.com/gh_mirrors/d3/D3keyHelper D3keyHelper是一款专为《暗黑破坏神3》玩家设计的自动化辅助工…

作者头像 李华
网站建设 2026/8/7 21:30:18

网易云音乐扩展引擎:开启个性化音频体验新篇章

在数字音乐时代,用户对播放器个性化功能的需求日益增长。传统的插件安装方式往往需要复杂的手动操作,让许多用户望而却步。现在,一款名为BetterNCM Installer的工具应运而生,彻底改变了这一局面。 【免费下载链接】BetterNCM-Inst…

作者头像 李华
网站建设 2026/8/7 19:21:44

【有手就行】LoRA:用你自己的数据来微调大模型,让大模型真正懂你

一、前言 上上周的周末无事在家,然后写了一篇《【有手就行】自己花20分钟从0开始训练一个“大模型”》,结果发现这两个星期涨了几十个关注,比我前面写了几个月文章得到的关注还多,看来这种浅显易懂的、入门级的技术文章相对来说会…

作者头像 李华
网站建设 2026/8/7 22:08:26

TouchGAL社区搭建完全指南:从零开始构建专属Galgame交流平台

TouchGAL社区搭建完全指南:从零开始构建专属Galgame交流平台 【免费下载链接】kun-touchgal-next TouchGAL是立足于分享快乐的一站式Galgame文化社区, 为Gal爱好者提供一片净土! 项目地址: https://gitcode.com/gh_mirrors/ku/kun-touchgal-next 想要打造一个…

作者头像 李华