从零开始打造基于GraphView的行为树框架

本文主要介绍了行为树的一些特点,以及如何在Unity中从零开始实现基于事件驱动的行为树Runtime框架(包括黑板参数、可扩展的自定义序列化数据格式等),与如何基于GraphView开发配套的行为树可视化编辑器与调试器(包括注释块、复制粘贴、Undo/Redo等)。

本课程属于进阶课程,适合已经有一定业务开发经验,并具有行为树与Unity编辑器的UI Elements开发基础知识的读者。

(使用的Unity版本:Unity2021.3lts)

相关课程推荐:

《Unity中基于前缀树的高性能红点系统实现》

自然妙有猫仙人:游戏客户端开发

多个开源项目的作者,曾就职于西山居、叠纸等游戏公司,热爱技术分享与造轮子,经常活跃于各个游戏行业开源社区的水群怪。


目录

1|前言

2|Runtime篇

3|Editor篇(附demo下载)


本篇转载自《从零开始打造基于GraphView的行为树框架》的第1节。

行为树是在游戏开发中常见的业务解决方案。

可用于在怪物AI、新手引导、技能逻辑等模块中进行可视化的流程控制。

行为树就其运行过程可分为轮询驱动与事件驱动两种。

前者会在每个节点上有一个Update方法用于返回当前节点状态(正在运行、运行成功或运行失败),对于当前所有行为树对象正在运行的所有节点,每帧都会去调用它们的Update方法以获取当前运行状态以作后续处理。

而后者则没有Update方法,只在子节点运行结束时去通知父节点自身的运行状态,相比前者会更具性能优势。

行为树的节点可被分为三大类:

1. 复合节点

2. 装饰节点

3. 动作节点

复合节点(如序列节点、并行节点等)具有多个子节点,会根据特定规则去逐个运行或同时运行所有子节点。

装饰节点(如反转节点、成功节点等)仅有一个子节点,会根据子节点运行结果来决定自己的运行结果。

动作节点没有子节点,位于整个行为树的末端以负责最终的逻辑执行,通常会封装具体模块的业务逻辑(如寻路、攻击等)。

一颗行为树的完整结构可能是这样的:

在本课程中,我们将实现一套基于事件驱动的行为树Runtime框架,并支持黑板参数与多种序列化数据格式,然后通过Unity内置的GraphView打造配套的可视化编辑器与调试器,并支持注释块、复制粘贴、Undo/Redo等功能。

最终效果如下:

文末会提供包含完整代码与测试用例的Demo工程方便读者学习。


以上就是《从零开始打造基于GraphView的行为树框架》的第1节,此篇文章比较适合喜欢自己造轮子的读者、长期从事业务逻辑开发想提升自己的读者以及对GraphView节点编辑器开发感兴趣的读者。

读完全篇后你会获得:

1、完整的行为树Runtime框架与配套的可视化编辑器与调试器;

2、通过GraphView开发节点编辑器与配套功能的实践经验;

3、包含完整Editor、Runtime、测试用例代码的Demo工程。

内容概要:本文深入探讨了多种高级格兰杰因果检验方法,包括非线性格兰杰因果检验、分位数格兰杰因果检验、混频格兰杰因果检验以及频域因果检验。每种方法都有其独特之处,适用于不同类型的时间序列数据。非线性格兰杰因果检验分为非参数方法、双变量和多元检验,能够在不假设数据分布的情况下处理复杂的关系。分位数格兰杰因果检验则关注不同分位数下的因果关系,尤其适合经济数据的研究。混频格兰杰因果检验解决了不同频率数据之间的因果关系分析问题,而频域因果检验则专注于不同频率成分下的因果关系。文中还提供了具体的Python和R代码示例,帮助读者理解和应用这些方法。 适合人群:从事时间序列分析、经济学、金融学等领域研究的专业人士,尤其是对非线性因果关系感兴趣的学者和技术人员。 使用场景及目标:①研究复杂非线性时间序列数据中的因果关系;②分析不同分位数下的经济变量因果关系;③处理不同频率数据的因果关系;④识别特定频率成分下的因果关系。通过这些方法,研究人员可以获得更全面、细致的因果关系洞察。 阅读建议:由于涉及较多数学公式和编程代码,建议读者具备一定的统计学和编程基础,特别是对时间序列分析有一定了解。同时,建议结合具体案例进行实践操作,以便更好地掌握这些方法的实际应用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值