关于BT

行为树下,允许有平行的任务,这个任务可能是个状态机,多个状态机可以平行执行。在复杂的应用情景下,行为树的实现要比状态机简单。

从名字上看,behaviour tree,首先是个tree,这样就会有node,整棵tree代表一系列的组合。其实可以想象火车编组站,从北京始发的车,每到达一个城市,这个城市就是一个node,通过走不同的node,到达了不同的地方,也就提供了不同的功能。每帧更新不会都遍历一次整棵树,而是只更新当前正在进行处理的节点即可。

NodeCanvas是先实现了一个图(Graph)的数据结构,里面定义了节点,连接等对象。行为树是图的一个子类,行为树上的节点是图里节点的子类。

每个节点的状态定义了5种:

Failure = 0,
Success = 1,
Running = 2,
Resting = 3,
Error = 4,

从名字上来看,分别告诉父节点,自己执行的结果是失败,成功还是没执行完,或者正在重置状态,或者出错了。

行为树上节点的类型有:

三大类,分别是Composite,Decorator,Leaf。 是不是所有的行为树都必须实现这几类节点呢?

从名字上来看,

Composite定义了执行框架,最简单的就是Sequence,序列执行的节点流,如果一个节点执行失败,就返回,其余节点就不再执行,显然这种节点,对于完整性要求的事务非常合适。和Sequence相似正好相反的是 Selector,这种框架是,当子节点只要有一个成功,就返回,其余节点不再执行。所以说,sequence是对所有子节点执行的and操作,selector是对所有子节点执行or操作。比如,你下班回家,准备进房间的时候,发现门锁着(一个节点,检查门是否锁着,锁着意味着进入失败),拿出一把钥匙(如果找到的话就成功),然后就可以进房间了,当然这个过程还有很多条件,比如,当前的钥匙不对,需要再试其他钥匙。

Decorator提供了转接功能,只能有一个子节点。负责对子节点的输出结果进行二次加工,再返回到父节点。例如子节点计算一个值,当这个值在什么区间内返回什么,超过区间返回别的。这种转接口就多了,比如总是返回true,或者总是返回false

leaf定义了具体的行为,也是承载主要功能的节点,不能有子节点。包括子树节点SubTree,单次行为节点Action,条件节点Condition,状态机节点FSM,激活的状态Enable/Disable,根节点转移RootSwitch等。最简单的实现,就是行走功能节点,驱动玩家在场景中行走。其实叶节点可以认为是函数,而composite和decorator就是调用这些函数的地方。

参考:

http://www.gamasutra.com/blogs/ChrisSimpson/20140717/221339/Behavior_trees_for_AI_How_they_work.php

时间: 2024-10-09 15:04:51

关于BT的相关文章

BT网络中DHT和UPnp的解释(转)

DHT 类似Tracker的根据种子特征码返回种子信息的网络.DHT全称叫分布式哈希表(Distributed Hash Table),是一种分布式存储方法.在不需要服务器的情况下,每个客户端负责一个小范围的路由,并负责存储一小部分数据,从而实现整个DHT网络的寻址和存储.新版BitComet允许同行连接DHT网络和Tracker,也就是说在完全不连上Tracker服务器的情况下,也可以很好的下载,因为它可以在DHT网络中寻找下载同一文件的其他用户.BitComet的DHT网络协议和BitTor

Ubuntu下从外网上北邮人BT

首先你需要有北邮的VPN账号和密码,只要是北邮的学生都有 账号和密码不懂的请查看 VPN账号密码说明 接下来登录 https://sslvpn.bupt.edu.cn,输入账号和密码 已经登录好了 但是还是不能上BYR BT,是因为没有把ipv4转成ipv6,在Ubuntu下进行转换很简单, 只需要安装miredo, 输入命令 sudo apt-get install miredo 安装好了之后,就可以上BYR BT了,不过速度还是ipv4的速度

BT协议分析(1)—1.0协议

简述 BT下载是采用P2P的下载方式,下载的大致形式采用如下图所示,处于图示中心的称为Tracker服务器,其余称为Peer.   缺点 1.资源的安全性 2.资源的实效性(没有上传者则BT也将失效) 3.版权 协议分析 对BT协议(1.0)的分析主要包含4个部分: 1.种子文件的分析 2.同Tracker服务器的通讯(采用HTTP协议) 3.同其他peer(配合/协同者)的通讯(采用TCP协议) 4.总结 分析前的了解 在这些分析之前,需要先了解两点BT协议采用的基础: 1.BT协议中采用的单

教育网bt站点

北京交通大学 晨光BT (http://cgbt.cn)清华晨光BT(http://thubt.cn)北京科技大学 iBeiKeBT(http://bt.ibeike.com)上海大学 乐乎BT (http://bt.shu6.edu.cn)华中科技大学 HUDBT (http://www.kmgtp.org)北京邮电大学 北邮人BT(http://bt.byr.edu.cn)中国政法大学 BBSBT(http://bbsbt.cupl.edu.cn)东北大学 六维空间(http://bt.ne

路由器OpenWrt如何脱机(离线)下载BT文件

路由器OpenWrt如何脱机(离线)下载BT文件 1.首先到如下网址下载OpenWrt固件(确保为路由器正确型号). http://downloads.openwrt.org/snapshots/trunk/ar71xx/openwrt-ar71xx-generic-wzr-hp-g450h-squashfs-sysupgrade.bin 2.路由器升级完毕后用telnet输入192.168.1.1(默认地址)连接到路由器,默认没有密码,输入“passwd”修改密码,修改成功后输入“exit”退

BT是如何下载的

BT协议简介 一.BT下载是怎么来的? 在互联网上下载文件的方式大概有这么几种:FTP.HTTP.BT.eMule(电驴)等, 浏览器会直接支持FTP和HTTP下载,BT和eMule下载一般需要专用的下载软件的支持.   接下来分别简单介绍一下他们的区别: FTP 是 File Transfer Protocol(文件传输协议)的英文简称,顾名思义,就是提供文件传输的一个协议.首先需要有一个FTP Server,负责文件的存储并接受网络请求(FTP连接和指令)提供下载,然后FTP Client

在VPS上安裝BT軟體Transmission

在VPS上安裝BT軟體Transmission 作者: 窮苦人家的小孩 | 2009-12-04 55 Comments VPS 還能怎玩?! 裝Proxy,裝VPN,這還不夠,我還用來掛種子夠狠吧  反正頻寬閒也是閒者,不過安裝前最好事先問問主機商是否允許,合法的文件大多都是OK的.偶用YUM裝了幾個軟體總覺都怪怪的,畢竟不是該軟體最新的版本,再加上CentOS是一套強調安全的系統,當然對P2P這玩意不會太支援,我裝過了純網頁介面的Torrentflux,很多人推薦的rTorrent,但是最後

横冲直撞好莱坞迅雷下载_电影2015 横冲直撞好莱坞电影bt种子下载完整版

<煎饼侠>推广曲<五环之歌>MV首曝光 下载网站:武帝电影天堂网  高清电影下载  BT种子下载 导演: 蒂姆·肯德尔 主演演员: 赵薇 / 黄晓明 / 佟大为 / 姜成镐 / 瑞斯·考罗 电影类型: 喜剧 / 动作 / 冒险 国家: 中国大陆 / 美国 语言类别: 汉语普通话 / 英语 日期: 2015-06-26(中国大陆) 上映 又名: 横冲直撞荷里活(港) / 横冲直闯好莱坞 / 致我们终将逝去的爱情 / 致突如其来的爱情 / 致爱情 / Hollywood Adventu

奸臣迅雷下载_电影2015 奸臣电影bt种子下载完整版

导演: 闵奎东 主演: 朱智勋 / 金康宇 / 林智妍 / 千浩振 / 李宥英 类型: 剧情 制片国家/地区: 韩国 语言: 韩语 上映日期: 2015-05-00 片长: 133分钟 奸臣的剧情简介 以朝鲜历史上著名暴君燕山君执政时期为背景,讲述的是在君王面前伪装忠臣,实际上却是扰乱政坛主谋的奸臣的故事,其视皇帝为傀儡,实为"王上之王". 奸臣迅雷下载_电影2015 奸臣电影bt种子下载完整版    地址   网盘 百度云 下载 版权声明:本文为博主原创文章,未经博主允许不得转载.

BT下载原理分析

版权声明:本文为博主原创文章,未经博主允许不得转载. BitTorrent协议. BT全名为BitTorrent,是一个p2p软件,你在下载download的同时,也在为其他用户提供上传upload,因为大家是“互相帮助”,所以不会随着用户数的增加而降低下载速度. 下面是一般用ftp,http等分享流程: 下面是用BitTorrent分享的流程: 其实跟ED也十分相似,ED跟BT不同的地方有: ED--要连上一个固定server BT--没有固定server,只要分享者制作出该分享档案的.tor