我想创建一个根据状态移动的系统,并且命名为:模块式状态驱动角色架构

这个架构经常被称为解耦状态机系统,与类似 AAA游戏的 Naraka: Blade Point 或 杀戮特务 使用的类似。它旨在处理复杂的运动,同时保持“干净”的代码和高性能。

核心模块与责任

  1. 键入读取器(硬件抽象层)

角色:“传感器”。

功能:捕获从键盘、鼠标或控制器接收到的原始信号,并将其转换为意图(例如 JumpRequested, MoveInput)。

  1. 数据分析器(角色状态提供者)

角色:“认知工具”。

功能:需要将物理数据和原始输入结合起来,计算高级状态,例如步态(步行/跑/跑步),运动方向(向前/向后)和-grounding。

  1. 转态机(协调者)

角色:“交通流量控制”。

功能:管理所有角色动作的生命周期。它在不同状态之间切换(例如,从行走切换到跳跃)并使用缓存状态来避免延迟。

4 基础状态和派生状态(逻辑层)

角色:“动作模块”。

功能:每个文件(休息/步行/冲刺/攀爬)只包含与该特定动作相关的逻辑。

是否有人相关的文档或视频讨论这个问题?请帮助我!