翻译了一下unity wiki上对于有限状态机的案例,等有空时在详细写一下.在场景中添加两个游戏物体,一个为玩家并修改其Tag为Player,另一个为NPC为其添加NPCControl脚本,并为其将玩家角色和路径添加上去.(该案例利用状态机简单的实现了一个NPC的简单AI---巡逻---看到玩家----追逐玩家----丢失玩家----巡逻) 效果: 状态机: using System; using System.Collections; using System.Collections.Gene
FSM有限状态机 一.设计思路 1.共同的状态父类,提供可重写的进入,保持,退出该状态的生命周期方法: 2.状态机,管理所有状态(增删查改),状态机运行方法(Run): 3.在角色控制器中,实例化状态机,并初始化添加状态: 二.关键类 1.StateBase 给物体所有状态提供的基类,所有状态比较继承这个基类,并且重写生命周期的方法: 泛型T为角色控制类: 字段: public int stateID; //状态ID,string也可 public T owner; //角色的实例 生命周期:
继续昨天的工程,给Monster添加一个空物体命名为AI,在AI添加脚本BehaviorTree,然后就可以打开行为树编辑器进行编辑了 先写好自定义的节点脚本,下面是一个寻找漫游点的行为节点脚本 using UnityEngine; using BehaviorDesigner.Runtime.Tasks; using BehaviorDesigner.Runtime; [TaskCategory("MyActions")] [TaskDescription("计算出更新的路