| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 游戏开发 -> Unity3D Behavior Tree行为树简单介绍及资源分享 -> 正文阅读 |
|
[游戏开发]Unity3D Behavior Tree行为树简单介绍及资源分享 |
昨天看了下《失控玩家》这个电影,发现一直以来也没有认真去研究过游戏AI的设计,于是今天就想边记录边学习的方式去研究游戏AI设计思路。 平台暂时还是基于U3D,官方暂时还没有AI插件,所以这边还是用U3D的第三方插件Behavior Tree。核心包可以点击链接下载U3D行为树1.6.6核心包。 行为树行为树,顾名思义肯定是树状结构,Behavior Tree也离不开这点,参考下图。 ? ?游戏的一个行为树AI最终其实就是图上的树状结构,由一个一个的节点组成。而在Behavior中,整体将这个节点分为了三大类: composite、decorator、leaf,如下图所示。
可以理解composite是一个逻辑组合,leaf可能是具体的某个单一逻辑,而decorator则是对leaf的一个额外修饰,例如让其循环执行,又或者将其返回结果取反等等。 在Behavior Tree中,实际上上面三类之下又会分为很多小类,例如composite中,最重要的两个节点便是selector,sequence。
? ?上面描述或许有些抽象,那基于下面的图可以更具体的描述这两个节点的区别。 ? ?如上图所示,selector的子节点只能成功执行一个,且会基于从左到右的优先级关系依次校验,
?所以selector其实可以理解是在做选择,会给予设置好的节点顺序,去优先选择靠前的节点执行。 而sequence则是可以理解成是一个流程,按照从左到右的顺序依次执行,这个过程是线性的,任何一个节点中断,都会导致后续的节点无法执行。 ?如图所示,这是一个吃披萨的过程,下面有四个节点。
?那最后用一个图来回顾一下这两个节点用途吧。 ?这是一个饥饿自动进食AI,可以看出来,因为上面吃多了披萨的原因,所以AI跟我反应他更想吃汉堡。于是我们把eat burger放在eat pizza前面,这样当他通过饥饿判定、拥有食物判定后,他会优先吃汉堡。 ?那今天就到这里了,男人至死是少年,勇敢牛牛,不怕困难,加油,打工人! 参考资料: https://www.bilibili.com/video/BV1pK411j79c?p=10&spm_id_from=pageDriver |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 | -2024/12/21 23:41:39- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |