news 2026/6/15 17:39:03

等待节点-–-behaviac

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
等待节点-–-behaviac

原文

等待(Wait)节点在指定的数值内(单位根据自己的使用场景来定)持续保持为运行(Running)状态,数值到达之后则返回成功,如下图所示:

需要配置“持续时间”,可以是常数、属性或方法的返回值(支持double和int类型),如下图所示:

在工作区配置窗口中,可以勾选左下角的“使用整数值”来表示是否使用整数值,如下图所示:

如果勾选了“使用整数值”选项,那么在导出代码文件behaviac_agent_meta.cpp中,会自动生成Workspace::GetInstance()->SetUseIntValue(true)。

等待节点的更新逻辑是:

boolbUseIntValue=Workspace::GetInstance()->GetUseIntValue();if(bUseIntValue){longlongtime=Workspace::GetInstance()->GetIntValueSinceStartup();if(time-this->m_intStart>=this->m_intTime){returnBT_SUCCESS;}}else{doubletime=Workspace::GetInstance()->GetDoubleValueSinceStartup();if(time-this->m_start>=this->m_time){returnBT_SUCCESS;}}

因此,只有保证Workspace::GetInstance()->GetIntValueSinceStartup()或Workspace::GetInstance()->GetDoubleValueSinceStartup()正确的返回从游戏启动到现在的总时间,等待节点才能正确工作。

如果勾选了“使用整数值”选项,那么Workspace::GetInstance()->GetUseIntValue()将返回true,并且该总数值需要通过Workspace::GetInstance()->SetIntValueSinceStartup(long long value)设置,可以在自己的游戏更新函数中调用该函数。

如果没有勾选“使用整数值”选项,那么Workspace::GetInstance()->GetUseIntValue()将返回false。该总时间需要通过Workspace::GetInstance()->SetDoubleValueSinceStartup(double value)设置,可以在自己的游戏更新函数中调用该函数。

注意:在C#代码中相应的接口需改为Workspace.Instance.IntValueSinceStartup或Workspace.Instance.DoubleValueSinceStartup,默认实现方式是返回Unity的系统时间Time.realtimeSinceStartup,一般情况无需自己重新实现,直接使用即可,不用类似C++的接口每帧更新时调用Workspace.Instance.IntValueSinceStartup或Workspace.Instance.DoubleValueSinceStartup为其赋值。

具体的执行逻辑可以查看behaviortree/nodes/actions/wait.cpp

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

金运环球:非农矛盾,市场分歧加大,早盘维持高位整理

【市场早间简述】现货黄金与白银在经历剧烈震荡后进入高位整理阶段。昨日市场核心驱动为矛盾的美国非农数据:11月新增就业6.40万人优于预期,但失业率意外升至四年高位4.60%。数据撕裂导致美元指数跌至两个月低点,为金价提供支撑。现货黄金盘中…

作者头像 李华
网站建设 2026/6/15 11:31:26

Ceph 对象网关性能深入探讨:构建安全且可扩展的对象存储(中)

新钛云服已累计为您分享874篇技术干货01介 绍本文是关于 Ceph 对象网关性能深入探讨:构建安全且可扩展的对象存储 系列的第二篇。若尚未阅读第一部分,建议从第一篇入手。前文详细介绍了测试环境,包括硬件软件配置、网络架构及基准测试方法论…

作者头像 李华
网站建设 2026/6/15 15:01:32

抚矿总医院神外机器人破局:0.2毫米手术精度与民生温度

辽宁抚顺,抚矿总医院。在这家红色央企成员医院的神经外科手术室里,一台银白色机械臂正缓缓移动,精度稳稳控制在0.2—0.6毫米之间。对于三叉神经节、颅底等“手术禁区”而言,这意味着风险的边界被重新定义。神外主任张永惠介绍说&a…

作者头像 李华
网站建设 2026/6/15 13:26:55

ComfyUI依赖管理终极指南:如何选择pip与uv实现快速安装?

ComfyUI依赖管理终极指南:如何选择pip与uv实现快速安装? 【免费下载链接】ComfyUI-Manager 项目地址: https://gitcode.com/gh_mirrors/co/ComfyUI-Manager 还在为ComfyUI-Manager依赖安装缓慢而烦恼吗?🤔 面对频繁的版本…

作者头像 李华
网站建设 2026/6/15 11:29:41

基于springboot的房屋租赁系统(11507)

有需要的同学,源代码和配套文档领取,加文章最下方的名片哦 一、项目演示 项目演示视频 二、资料介绍 完整源代码(前后端源代码SQL脚本)配套文档(LWPPT开题报告)远程调试控屏包运行 三、技术介绍 Java…

作者头像 李华
网站建设 2026/6/14 14:28:00

nginx的proxy_pass的配置后是否添加斜杠的区别

解析 当 proxy_pass 的 URL 尾部带有 / 时:Nginx 会将 location 匹配到的那部分路径替换为 /。 即:proxy_pass http://ip/ (原始请求URI 去除 location匹配的URI)当 proxy_pass 的 URL 尾部不带有 / 时:Nginx 会将完整的原始请求路径追加到代…

作者头像 李华