发布时间:2024-08-16 16:02:12 浏览量:261次

前言
开发游戏AI的目标之一是要找到一个简单,可扩展的编辑逻辑的方案,从而加速游戏开发的迭代速度。在行为系统图中,行为系统响应游戏中的各种信息,进行决策以挑选接下来将要执行的行动并且监控该行动的执行。

知识模型是对游戏世界中各种信息的抽象。
在行为系统中,有限状态机最为经典,有限状态机模型的优势之一是简单。但是有限状态机需要用转换连接状态,因此,状态失去了模块性。

什么是行为树
一个例子

上图中,3号Sequence节点有3个子节点,分别是:
4号Condition节点
5号Action节点
6号Wait节点
而3号节点的父节点是2号的Loop节点。
先补充下各节点类型的执行逻辑:
序列节点:顺序执行所有子节点返回成功,如果某个子节点失败返回失败。
循环节点:循环执行子节点到指定次数后返回成功,如果循环次数为-1,则无限循环。
条件节点:根据条件的比较结果,返回成功或失败。
动作节点:根据动作结果返回成功,失败,或运行。
等待节点:当指定的时间过去后返回成功。
执行说明
如果4号条件节点的执行结果是成功,其父节点3号节点则继续执行5号节点,如果5号动作节点返回成功,则执行6号等待节点,如果6号节点返回成功,则3号节点全部执行完毕且会返回成功,那么2号节点继续下个迭代。
如果4号条件节点的执行结果是失败,其父节点3号节点则返回失败不再继续执行子节点,并且2号节点继续下个迭代。
进阶
聪明的读者可能会问,上面的例子中只讲了成功或失败的情况,但如果动作要持续一段时间呢?如果5号节点,Fire需要持续一段时间呢?
节点的执行结果可以是“成功”,“失败”,或“运行”。
对于持续运行一段时间的Fire动作,其执行结果持续返回“运行”,结束的时候返回“成功”。
对于持续运行一段时间的Wait动作,其执行结果持续返回“运行”,当等待时间到达的时候返回“成功”。
行为树的内部“知道”该节点是在持续“运行”的,从而在后续的执行过程中“直接”继续执行该节点,而不需要从头开始执行,直到该运行状态的节点返回“成功”或“失败”,从而继续后续的节点。
另一个例子

如上图,为了清晰说明运行状态,来看另一个例子。在这个例子中,Condition,Action1,Action3是3个函数。
0号节点是个Loop节点,循环3次。
1号节点是个Sequence节点
2号节点模拟一个条件,直接返回成功。
3号节点Action1是一个动作,直接返回成功。
4号节点Action3同样是一个动作,返回3次运行,然后返回成功。
行为树的基本概念:
执行每个节点都会有一个结果(成功,失败或运行)
子节点的执行结果由其父节点控制和管理
返回运行结果的节点被视作处于运行状态,处于运行状态的节点将被持续执行一直到其返回结束(成功或失败)。在其结束前,其父节点不会把控制转移到后续节点。
其中理解运行状态是理解行为树的关键,也是使用好行为树的关键。

其他
上文另一个例子中“demo_running”的例子在安装包及源码里都有提供。最好查看源码,编译运行,自行尝试体会。
热门资讯
探讨游戏引擎的文章,介绍了10款游戏引擎及其代表作品,涵盖了RAGE Engine、Naughty Dog Game Engine、The Dead Engine、Cry Engine、Avalanche Engine、Anvil Engine、IW Engine、Frostbite Engine、Creation引擎、Unreal Engine等引擎。借此分析引出了游戏设计领域和数字艺术教育的重要性,欢迎点击咨询报名。
2. 手机游戏如何开发(如何制作传奇手游,都需要准备些什么?)
如何制作传奇手游,都需要准备些什么?提到传奇手游相信大家都不陌生,他是许多80、90后的回忆;从起初的端游到现在的手游,说明时代在进步游戏在更新,更趋于方便化移动化。而如果我们想要制作一款传奇手游的
3. B站视频剪辑软件「必剪」:免费、炫酷特效,小白必备工具
B站视频剪辑软件「必剪」,完全免费、一键制作炫酷特效,适合新手小白。快来试试!
游戏中玩家将面临武侠人生的挣扎抉择,战或降?杀或放?每个抉定都将触发更多爱恨纠葛的精彩奇遇。《天命奇御》具有多线剧情多结局,不限主线发展,高自由...
三昧动漫对于著名ARPG游戏《巫师》系列,最近CD Projekt 的高层回应并不会推出《巫师4》。因为《巫师》系列在策划的时候一直定位在“三部曲”的故事框架,所以在游戏的出品上不可能出现《巫师4》
6. 3D动画软件你知道几个?3ds Max、Blender、Maya、Houdini大比拼
当提到3D动画软件或动画工具时,指的是数字内容创建工具。它是用于造型、建模以及绘制3D美术动画的软件程序。但是,在3D动画软件中还包含了其他类型的...
想让你的3D打印模型更坚固?不妨尝试一下Cura参数设置和设计技巧,让你轻松掌握!
众所周知,虚幻引擎5(下面简称UE5)特别占用存储空间,仅一个版本安装好的文件就有60G,这还不包括我们在使用时保存的工程文件和随之产生的缓存文件。而...
9. Bigtime加密游戏经济体系揭秘,不同玩家角色的经济活动
Bigtime加密游戏经济模型分析,探讨游戏经济特点,帮助玩家更全面了解这款GameFi产品。
10. 3D动漫建模全过程,不是一般人能学的会的,会的多不是人?
步骤01:面部,颈部,身体在一起这次我不准备设计图片,我从雕刻进入。这一次,它将是一种纯粹关注建模而非整体绘画的形式。像往常一样,我从Sphere创建它...
最新文章
同学您好!