跳转到正文

功能列表

作

作者

作者

创建时间: 2026年9月09日更新时间: 2026年10月19日

目录

可以构建什么

Generic Input System 帮助你构建随玩法状态变化的输入权限和输入缓冲。它围绕挂在 Pawn 上的组件和 Enhanced Input 工作,不替换项目已有输入资产,也不接管项目最终动作同步。

可实现的玩法模式

  • 攻击、闪避、互动、技能、界面和恢复状态下的不同输入权限
  • 连击窗口、翻滚缓冲、技能预输入和交互确认
  • 通过玩法标签选择输入行为的上下文输入
  • 蓝图或 C++ 编写的输入校验与响应对象
  • 状态树状态内自动启用、关闭、等待或检查输入窗口

标签化输入与控制规则

  • 让动作拥有稳定玩法含义。 输入配置将输入动作映射为玩法标签,组件按 Enhanced Input 的触发阶段分发。
  • 保留项目自己的映射上下文。 组件可添加和移除配置中的映射上下文,但不会要求你重建整个 Enhanced Input 资产体系。
  • 按状态切换规则。 输入控制配置可随状态压入和弹出,让最后激活的配置决定当前输入允许、校验和处理方式。
  • 显式保留关键输入。 总是允许的输入可绕过普通校验,例如暂停、菜单返回或项目定义的紧急操作。

校验器、处理器与缓冲窗口

  • 用对象复用校验逻辑。 校验器可在蓝图或 C++ 中扩展;内置的标签关系校验器可按角色身上的玩法标签判断允许或阻止。
  • 按触发阶段响应。 处理器可筛选输入标签,以及 Started、Triggered、Ongoing、Canceled、Completed 等 Enhanced Input 触发阶段。
  • 用数据表达输入时机。 缓冲窗口定义允许输入,并提供 LastInput、Instant 和 HighestPriority 策略及状态事件。当前 HighestPriority 实现可能被后续输入覆盖,暂不应依赖其优先级结果。
  • 让多个系统观察输入。 异步蓝图监听器可按标签、触发阶段和精确/层级匹配监听普通或缓冲输入。

状态树与调试

  • 让输入规则跟随状态生命周期。 状态树任务可启用输入控制配置、打开或关闭缓冲窗口、等待窗口状态或测试最近缓冲输入。
  • 在运行时检查路径。 Gameplay Debugger 和 LogGIPS 可显示配置、校验、缓冲、处理和当前活动窗口状态。
  • 让项目继续拥有动作结果。 GIPS 决定本地输入能否通过和何时释放;攻击、移动、技能或网络同步仍由项目系统实现。

需要围绕设计的边界

  • 核心组件必须挂在 Pawn;PlayerController 和 AIController 持有不受支持。
  • 原始硬件输入不复制;多人项目必须同步和校验输入产生的项目级动作。
  • GIPS 扩展 Enhanced Input 的状态管理,不包含完整战斗、技能或界面系统。