(本文为翰者学堂学员 陈杰 投稿)
虚幻的AI系统是作为单独的一个对象独立出来的(行为树),事实证明这也的确是非常明智的,AI的行为用树状来表示,对于人类思维是非常友好的表现形式。
负责AI的开发者们,只需要利用程序设计师事先建立好的函数、事件分发器、暴露出来的变量等接口进行行为规划,同时我们可以通过黑板(Blackboard)进行类似蓝图一样的记录变量操作,并以此操控变量。接下来,我们将使用简单的RPG的机器人AI浅析下行为树系统。
先看一下最终的效果:
https://www.bilibili.com/video/av25876783
作为一个RPG,简单AI的行为分为两种主要形态,如下图所示:
主要通过是否锁定敌人的标记来区分状态,首先我们在黑板建立敌人(Enemy)变量,通过这个变量的存在与否来控制AI的两种状态,因此两种状态是有顺序的,我们选用Selector来分支,类似这样:
我们这时候就可以思考未发现敌人AI应该做的事情,例如巡逻,在一定范围里警戒敌人等等。因为此时这些动作都是等同的(即同一种状态下没有任何因素,导致Task的发生与否),我们就选用Sequence的节点来进行分支,建立两个Task事件:一个是找寻敌人,一个是巡逻,最终效果如下:
下图为两个Task的主要实现节点:
FindEnemy Task返回到黑板一个Object值Enemy:
Find_NavPoint Task返回到黑板的一个Vector值NavPoint:
考虑下发现敌人后怎么处理呢?可以简单处理如下:
因为我们一直在对距离进行判断,所以我们可以建立一个判断距离的 DistanceWithEnemy Service返回到黑板一个距离的Float值Distance:
通过距离的数值调用不同的Task事件就能简单的完成这个RPG的简单AI,明显这些Task不是同等的(即同等状态下,事件Task的发生与否是有条件的),我们此时就选用Selector来分支状态:
再回去看看逻辑图,我们分别制作相应的Task如下:
首先是
以上move,rotation都是虚幻内置的Task
接下来↓:
AIFire Service(这里用Service是为了我的连招判定,大家也可以写Task)调用人物上自己写的攻击函数:
然后是↓:
ClearEnemy Task 修改黑板的Enemy、Distance值等:
最后行为树的效果如下:
对应的逻辑图如下:
一个简单的RPGAI就制作出来了,如果你有需要,还可以添加寻找武器,捡起武器,武器子弹不足,换弹夹,扔枪等等动作,其基本原理都是相通的。
那么接下来,这部分就交给大家发挥自己的想象了!
需要本项目蓝图的朋友,可以申请下方的学习QQ群,获取下载地址。
(公众号二维码)
让天下没有难学的技术
公众号:虚幻学堂
QQ群 : 453114825
腾讯课堂:丁树凯ue4
翰者学堂:www.hanzhe.com
-
比较伤感的网名:https://www.nanss.com/mingcheng/4062.html 2022年带来好运网名:https://www.nanss.com/mingcheng/4255.html 齐心协力造句:https://www.nanss.com/xuexi/4196.html 滚来滚去的小土豆作文300字:https://www.nanss.com/xuexi/4037.html 初二日记:https://www.nanss.com/xuexi/4136.html 因为有我作文:https://www.nanss.com/xuexi/4156.html 和儿媳妇在一起的快乐的说说:https://www.nanss.com/wenan/4080.html 错的时间遇到对的人:https://www.nanss.com/yuedu/4040.html 疫情期间的感人故事:https://www.nanss.com/xuexi/4155.html 周记400字:https://www.nanss.com/xuexi/4135.html 形容豁然开朗的诗句:https://www.nanss.com/xuexi/4501.html 群简介:https://www.nanss.com/shenghuo/4321.html 当兵祝福语:https://www.nanss.com/yulu/4341.html 描述性格的词:https://www.nanss.com/xuexi/4460.html 疫情正能量朋友圈说说:https://www.nanss.com/wenan/4129.html 游戏公会名字:https://www.nanss.com/mingcheng/4365.html 孩子在家表现简短评语:https://www.nanss.com/xuexi/4099.html 金庸名言:https://www.nanss.com/xuexi/4066.html 快乐每一天:https://www.nanss.com/wenan/4481.html 回不去的曾经:https://www.nanss.com/yuedu/4083.html 英雄联盟网名:https://www.nanss.com/mingcheng/4063.html 吸引人的抖音名字:https://www.nanss.com/mingcheng/4272.html 长征之路:https://www.nanss.com/xuexi/4205.html 科比语录:https://www.nanss.com/shenghuo/4314.html 千言万语造句:https://www.nanss.com/xuexi/4302.html 简单奇葩的接头暗号:https://www.nanss.com/shenghuo/4163.html 祝福自己:https://www.nanss.com/yulu/4202.html 隐藏式表白:https://www.nanss.com/yulu/4337.html 奥林匹克格言是什么:https://www.nanss.com/wenti/4220.html 性感的名字:https://www.nanss.com/mingcheng/4264.html(0) 回复 (0)
-
专家劝百姓拿出三分之一存款买房热离心泵 今年首场寒潮最强雨雪下在哪 上海螺杆泵20 10岁女孩食用面包店售卖面包身亡热上海离心泵20 胡鑫宇遗体发现地与其学校一墙之隔热上海化工泵21 强盛集团法人孙红雷直播回应剧迷上海磁力泵49 女子晒老家镇上25万买的108平房子离心泵54 民政局开工 男子拍到仅两对新人结婚磁力泵 返乡年轻人挤爆咖啡店螺杆泵 刘銮雄拍卖76只爱马仕包螺杆泵 胡鑫宇家属正在申请异地公安侦查磁力泵 河南矿山回应3名员工各领500万奖金化工泵(0) 回复 (0)