行为树

行为树行为树常被用来实现游戏中的AI。每次执行AI,都会从根节点遍历整个树,父节点执行子节点,子节点执行完后将结果返回父节点。下面是基本的四个节点:1*顺序节点(Sequence):属于组合节点,顺序执行

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺


行为树常被用来实现游戏中的AI。每次执行AI ,都会从根节点遍历整个树,父节点执行子节点,子节点执行完后将结果返回父节点。下面是基本的四个节点:


1 *顺序节点(Sequence):属于组合节点,顺序执行子节点,只要碰到一个子节点返回false,则返回false,否则返回true,类似于程序中的逻辑与。
2 *选择节点(Selector):属于组合节点,顺序执行子节点,只要碰到一个子节点返回true,则返回true,否则返回false,类似于程序中的逻辑或。
3 *条件节点(Condition):属于叶子节点,判断条件是否成立。
4 *执行节点(Action):属于叶子节点,执行动作,一般返回true。

关于更多关于行为树概念上的东西,大家很容易找到相关的资料,这里不再最赘述,主要是通过一个实际的例子来看行为树在AI上的应用。


这是AI文字表达的方式:


如果不是情人节,我们的Avatar将去球场打球,如果是情人节,他将带上一束花去见他的女友,但是他可能没带钱,所以他要先回家拿钱,然后去花店买花,再去
见他的女友,如果女友还在约会地点,则将花送给女友。


下面是用行为树表达的方式:


行为树


上面的图让我们能很容易指导我们的代码编写,我们需要完成所有的叶子节点,然后将他们按照图示,放到相应的组合节点中去,然后不停的遍历整个行为树。


我使用AS3完成了下面的demo,去实现上图中的行为树AI(如无法观看请下载最新的FlashPlayer)。


Flash中,蓝色的圆表示AI控制的Avatar,你可以通过点击不同选择框来改变当前的条件,Avatar会根据条件做出不同的反应。

行为树很适合做AI编辑器,我们定义好一些条件和动作,策划人员通过简单的拖拽和设置即可实现复杂的游戏AI。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/166875.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • 与,或,非,与非,或非,异或,同或,与或非概念_与或非异或的符号

    与,或,非,与非,或非,异或,同或,与或非概念_与或非异或的符号首先把中文意思和英文简写一一作出对应:与:and或:or…

    2022年10月12日
  • 金士顿DataTraveler 100G3 16G的U盘量产过程

    金士顿DataTraveler 100G3 16G的U盘量产过程几年前买的金士顿16GU盘由于这几天安装系统做成了启动盘,刚开始还可以正常,谁知道睡了一觉就废了。第一次尝试修复具体表现:1、插上电脑可以识别盘符,但是打不开,提示请插入U盘。2、磁盘管理中

  • matplotlib:第一节 初窥门径,简单示例,plot()函数介绍

    matplotlib:第一节 初窥门径,简单示例,plot()函数介绍

  • SQL数据库之索引优缺点

    SQL数据库之索引优缺点 SQL数据库之索引使用原则及利弊 索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息。 优点通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。  可以大大加快数据的检索速度,这也是创建索引的最主要的原因。  可以加速表和表之间的连接,特别是在实现数据的参考完整性方面特别有意义。  在使用分组和排序子句进行数据检索时,…

  • VMWare安装Win10虚拟机详细教程

    VMWare安装Win10虚拟机详细教程1. 安装Win10之前,先检查VMware虚拟网卡是否正常打开控制面板,找到网络和Internet点击更改设备器配置,查看VMware虚拟网卡是否存在和已启用2. 还原默认设置(网卡正常跳过此步骤)点击VMware中的—编辑—虚拟网络编辑器点击左下角的—还原默认设置3. 虚拟网卡正常后,开始创建虚拟机4. 选择—自定义(高级)©5. 根据自己安装的VMware选择合适的—硬件兼容性6. 选择自己所需要的Windows系统镜像进行安装7.

  • CefSharp中文帮助文档「建议收藏」

    CefSharp中文帮助文档「建议收藏」CefSharp是围绕Chromium嵌入式框架(ChromiumEmbeddedFramework,CEF)的简单.Net包装器。CEF是一个基于GoogleChromium项目的开源项目。与Chromium项目本身(主要专注于GoogleChrome应用程序开发)不同,CEF专注于促进第三方应用程序中的嵌入式浏览器用例。CEF基于多进程ChromiumContentAPI,因此,当前仅存在Chromium的部分功能。例如,对扩展的支持是有限的,仅实现了一部分ExtensionAPI。..

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号