AI
文章平均质量分 86
[奋斗不止]
这个作者很懒,什么都没留下…
展开
-
有限状态机FSM(finite state machine) 一
有限状态机FSM(finite state machine) 一有限状态机又称有限自动状态机,它拥有有限数量的状态,每个状态代表不同的意义,每个状态可以切换到 零-多 个状态。任意时刻状态机有且只能处在一个状态。有限状态机可以表示为一个有向图。如下图从图中可以看出一个学生包含四个状态:吃饭、休息、打篮球、写作业每种带有箭头的连线,表示可以从当前状态切换到其他的状态,以及切换的条件吃饭休息打篮球写作业吃饭吃饱了休息饿了想打球该写作业打篮球饿原创 2021-07-20 16:11:05 · 11831 阅读 · 3 评论 -
有限状态机FSM(finite state machine) 二
有限状态机FSM(finite state machine) 二延续上一篇继续有限状态机上一篇中的状态切换判断是在每一个状态类的 OnExecute 方法中各种 if else 硬编码逻辑 当状态比较多、条件比较多的时候,就会显得非常的臃肿,且又不利于阅读以及扩展了。那么我们能不能通过配置来省略各种 if else if else 硬编码呢 ? 答案:有的。如上图每一条状态转换的连线,我们称之为转换 Transition,如休息状态 Transition 吃饭状态休息状态 Transitio原创 2021-07-21 16:22:04 · 1651 阅读 · 1 评论 -
HFSM(HierarchyFiniteStateMachine)分层有限状态机 一
HFSM(HierarchyFiniteStateMachine)分层有限状态机原创 2021-07-22 01:22:20 · 6490 阅读 · 2 评论 -
HFSM(HierarchyFiniteStateMachine)分层有限状态机 二
HFSM(HierarchyFiniteStateMachine)分层有限状态机 二继续上一篇HFSM(HierarchyFiniteStateMachine)分层有限状态机 一 说了一部分理论,下面说下每个状态之间的转换Transition 条件如何设置。转换条件需要属性值作为依据,定义几个字段来帮助设置条件 float read = 0; // 看书 float homework = 0; // 写作业 float network = 0; //原创 2021-07-23 17:16:03 · 4830 阅读 · 5 评论 -
HFSM(HierarchyFiniteStateMachine)分层有限状态机 三
HFSM(HierarchyFiniteStateMachine)分层有限状态机 三接上面说一下 Unity 层次状态机编辑器为什么花时间写编辑器?因为:1.可视化,我们直接可以从编辑器中直接看到有什么状态、每个状态之间的切换关系和条件。2.编辑方便,我们在编辑器中可以轻松的添加、删除、修改状态之间的转换关系与条件。3.快速,相比于硬编码添加状态和切换条件、相比于配置表添加状态和切换条件,编辑器都会快很多下面讲解下这个编辑器的使用1.打开编辑器 在 菜单栏 Window -> Cre原创 2021-07-26 15:26:44 · 2336 阅读 · 3 评论 -
HFSM(HierarchyFiniteStateMachine)分层有限状态机 四
HFSM(HierarchyFiniteStateMachine)分层有限状态机 四接上篇,讲解一下自定义状态节点如何添加到编辑器,以及如何让AI运行起来。新建脚本StateEat 吃饭状态 继承于 HSMStateBaseStateHomeWork 吃饭状态 继承于 HSMStateBaseStateNetWork 吃饭状态 继承于 HSMStateBaseStatePlayBasketBall 吃饭状态 继承于 HSMStateBaseStatePlayGame 吃饭状态 继承于 HSMS原创 2021-07-26 15:59:30 · 1205 阅读 · 2 评论 -
行为树 Behavior Tree 原理 一
行为树 Behavior Tree 原理行为树 树形结构图如下一棵倒置的树 行为树采用节点描述行为逻辑,主要有:选择节点、顺序节点、并行节点、修饰节点、随机节点、条件节点、行为节点。一棵行为树表示一个AI逻辑。要执行这个 AI 逻辑,需要从根节点开始遍历整棵树,遍历执行的过程中,父节点根据自身的类型,确定需要如何执行、执行哪些子节点并继续执行,子节点执行完毕后,会将执行结果反馈给父节点。...............原创 2018-01-18 15:54:03 · 16590 阅读 · 3 评论 -
行为树 Behavior Tree C#实现 二
行为树 Behavior Tree C#实现前篇介绍了 行为树 Behavior Tree 的原理。 本篇通过前篇原理完成 Behavior Tree 的实现。1、节点类型枚举NodeTypenamespace BehaviorTree{ /// /// 行为树节点类型 /// public enum NodeType {.........原创 2018-01-18 16:38:50 · 5672 阅读 · 1 评论 -
Unity Behavior Tree Editor 行为树编辑器实现 三
Unity Behavior Tree Editor 行为树编辑器初级实现原创 2018-02-05 19:15:04 · 7880 阅读 · 5 评论 -
Unity 可视化编辑工具 树节点 Tree Node Editor 四
Unity 可视化编辑工具 树节点 Tree Node Editor最近想写一个行为树编辑器,终于找到编辑显示节点和连线的方案,示例图如下 本篇是将节点显示和节点连线的功能抽取出来的一个最小功能实现。不是完整的行为树编辑器。创建一个节点类 NodeRoot 不需要放在 Editor 文件夹下using System.Collections.Generic;using Uni............原创 2018-02-02 11:08:00 · 6462 阅读 · 3 评论 -
行为树 Behavior Tree 实例 五
行为树 Behavior Tree 实例前篇完成了 Behavior Tree 的核心代码 下面通过实际例子使用Unity来测试核心代码下面是行为树结构图 本篇实现 选择节点 1 的所有内容 执行流程如下遍历根节点 执行顺序节点 1 遍历所有子节点,只要子节点返回 Success 就继续执行后续节点,当节点返回 Fail或Success 时停止执行后续节点 1.......原创 2018-01-18 19:11:46 · 4482 阅读 · 1 评论 -
GOAP 目标导向型行为计划 AI 算法
GOAP 目标导向型行为计划 AI 算法全称: Goal-Oriented Action Planning定义:目标导向型行为计划,参考 STRIPS-like,专门设计用于游戏中自主角色行为实时控制的规划体系结构。参考:http://alumni.media.mit.edu/~jorkin/goap.htmlGOAP 是让 AI 自己去找到解决问题的方法,我们给AI 提供可以执行原创 2018-01-23 15:25:26 · 7132 阅读 · 11 评论