这个行为树有点乱
而且『选择』这个完全意味不明,我也没听说有选条件的啊
动态选择一般是有多个子动作,选第一个配对成功的√
一个动作有三个状态,成功、失败、运行
严格按照从上往下忠实执行
行为树本身不是一个『优先级』的图
而是『行为』本身
就用问题中的图来说
怪物会的动作会直接由『攻击玩家』接管再交给『常规攻击』
然后常规攻击中『发现目标』如果无法达成,就会返回失败,然后返回攻击玩家
控制权再交给『报复性攻击』继续执行
就比如这差不多就是一个『没看见玩家的没血的怪被玩家摸屁股然后跑路』的故事
0
Kingfeng ,我们作为一个协会誓要治愈这个世界及其居民
这个行为树有点乱
而且『选择』这个完全意味不明,我也没听说有选条件的啊
动态选择一般是有多个子动作,选第一个配对成功的√
一个动作有三个状态,成功、失败、运行
严格按照从上往下忠实执行
行为树本身不是一个『优先级』的图
而是『行为』本身
就用问题中的图来说
怪物会的动作会直接由『攻击玩家』接管再交给『常规攻击』
然后常规攻击中『发现目标』如果无法达成,就会返回失败,然后返回攻击玩家
控制权再交给『报复性攻击』继续执行
就比如这差不多就是一个『没看见玩家的没血的怪被玩家摸屁股然后跑路』的故事
2
明宗 ,做游戏玩游戏
按照我用过的行为树,说一下这个图里的逻辑。
1,顺序节点,从上往下,依次判断条件,有一个不满足返回false,这个顺序节点整体返回false,不执行行为。如果返回true,则继续往下判断。如果条件全部true,执行行为节点。
2,选择节点,从上往下,依次判断条件,有一个满足返回true,则跳过接下来所有的条件判断,直接执行行为节点。如果所有的条件节点都返回false,则整个选择节点返回false,不执行行为。
所以攻击节点是这样
1,视野内发现目标,且目标是玩家时,攻击,否则去巡逻或自卫,不执行报复性攻击
2,常规攻击返回true后,即进行了普攻,按照顺序进入报复性攻击的选择条件判断。当,1,发现目标,2,目标是玩家,3,怪物发狂,任一条件满足时,开始疯狂攻击
这个行为树写的有问题,报复性攻击那里的发现目标和目标是玩家应该放在一个顺序里,或者封装成一个发现玩家的条件判断。而且攻击、巡逻、自卫这三个行为也没有写之间的关系。他试图用行为树描述一个AI的行为,却忽略了一些基本规范,大概又自己脑补了一些规则,看起来很蛋疼。
PS:程序都是从上往下一行行执行的,一些概率选择也是让程序在执行顺序上跳过一些节点,严格说是没有所谓的优先级的。你想让一个行为优先出现,是通过把他的条件放到行为树的前端,让程序先去判断他的条件,以实现“一达到条件就执行”的效果
0
0
{{question['follower_count']}} 个玩家关注
相关元素
相关问题
游戏开发早期,擅用他人美术资源用于内部交流及融资展示,是否有法律风险?2人关注 2个回答
如果手机的机能达到甚至超越switch的水平,手机会成为主流游戏的平台嘛?是否会对目前的PS,XBOX等造成威胁甚至取代?6人关注 11个回答
关于国内游戏行业入职的一些问题?16人关注 8个回答
问题被以下收藏夹收录
行为树里的顺序节点和选择节点是什么意思?
0 条评论