SuperAPI AI 工具集

unity-fsm

通用与其它

查看项目

更新于 10-16 06:49

技能介绍

用途:在 Unity 项目中搭建模块化、面向对象的有限状态机(FSM),用于玩家控制或敌人 AI 的状态管理,代码结构参考 Adam Myhre 的 3D Platformer 实现。

主要能力:每个状态为独立类,支持“重”(类)与“轻”(ActionState,基于 Lambda)两种状态写法;转换基于 Strategy 模式,使用谓词(Predicate)与检测策略;内置 CountdownTimer 与 StopwatchTimer 计时系统,用于 AI 冷却管理;提供 IDetectionStrategy 与 ConeDetectionStrategy 感知逻辑;使用 Platformer 与 Utilities 命名空间。

核心文件(assets/code/):IState.cs.txt、StateMachine.cs.txt、IPredicate.cs.txt 为基础 FSM 逻辑;ActionState.cs.txt 为基于 Lambda 的状态以减少样板代码;Timer.cs.txt 用于 AI 冷却;IDetectionStrategy.cs.txt、ConeDetectionStrategy.cs.txt 为感知逻辑;PlayerDetector.cs.txt、Enemy.cs.txt、EnemyBaseState.cs.txt 为 AI 模板。

使用方式:定义状态时继承 BaseState;在 PlayerController 或 EnemyAI 中通过 stateMachine.AddTransition 连接状态;在 Update() 与 FixedUpdate() 中调用状态机执行。可参考 GUIDE.md(FSM 通用设置与接线)与 ENEMY-AI.md(结合检测策略实现 AI)。

适用场景:Unity 中需要清晰状态切换的玩家控制器、敌人 AI、平台跳跃类角色行为等。

限制:资料未提供具体安装命令、依赖版本、收费方式与平台兼容性信息,暂未提供。