【UE5】【AI笔记】增强输入系统学习笔记
【AI笔记】UE5 增强输入系统笔记
一、 系统概述
增强输入系统是 UE5 的默认输入框架。其核心设计理念是“物理输入与游戏逻辑彻底解耦”。 通过模块化的数据资产,系统支持在运行时动态切换操作模式(上下文),并原生提供了处理复杂连招、蓄力、组合键的时间与状态判定机制。
二、 四大核心组件
1. 输入操作 (Input Action, IA)
- 定位:定义“动作类型”(What),是连接物理按键与蓝图/C++代码逻辑的锚点。
- 核心属性:
- 值类型 (Value Type):决定传递的数据格式。
Digital (bool):状态开关(如:攻击、闪避、互动)。Axis1D (float):标量数值(如:扳机键深度、摄像机缩放)。Axis2D (Vector2D):二维向量(如:角色移动、平面视角控制)。Axis3D (Vector3D):三维向量(如:VR设备使用)。
- 消耗较低优先级增强输入映射 (Consume Input):布尔值开关。开启后,该 IA 触发时将独占硬件信号,阻止信号向低优先级层级传递。
- 值类型 (Value Type):决定传递的数据格式。
2. 输入映射上下文 (Input Mapping Context, IMC)
- 定位:定义“硬件映射规则”(How),是物理按键与 IA 之间的关联清单。
- 核心机制:
- 动态挂载/卸载:游戏运行时,可通过 Player Controller 提取本地玩家子系统,调用
Add/Remove Mapping Context动态切换按键方案。 - 优先级 (Priority):当多个 IMC 同时激活且存在按键冲突时,高优先级的 IMC 将优先截获并处理输入信号。
- 动态挂载/卸载:游戏运行时,可通过 Player Controller 提取本地玩家子系统,调用
3. 修饰符 (Modifiers)
- 定位:信号预处理“调音台”。在信号传递给 IA 前,对其进行数学计算。
- 常用类型:
- 盲区 (Dead Zone):过滤控制器摇杆的物理漂移微小信号,设定上下限阈值。
- 否定 (Negate):翻转轴向数值(如:配置 S 键后退,将 Y 轴 1 翻转为 -1)。
- 拌合输入轴值 (Swizzle):转移轴向通道(如:配置 W 键前进,将默认的 X 轴输入转移到 Y 轴)。
- 平滑 (Smooth):为纯数字输入(如键盘按键)模拟线性控制器的过渡曲线。
4. 触发器 (Triggers)
- 定位:动作判定“裁判”。基于时间、按键状态等条件,裁定 IA 是否被成功激活。
- 判定状态 (Trigger States):执行逻辑的基础节点引脚。
Started:条件开始评估的起始帧(常用于播放前摇特效)。Ongoing:条件评估期间(如:蓄力进度推进)。Triggered:条件达成,正式激活(触发核心伤害逻辑)。Canceled:条件中途被破坏(如:蓄力未满提前松手,引发僵直或打断)。Completed:动作执行完毕后松开按键的瞬间。
| 触发器类型 | Started (已开始) | Ongoing (进行中) | Triggered (已触发) | Canceled (已取消) | Completed (已完成) |
|---|---|---|---|---|---|
| 已按下 (Pressed) | 按下瞬间 | ❌ | 按下阈值达到瞬间 (与 Started 同帧靠后) | ❌ | 按下阈值达到瞬间 (与 Triggered 同帧靠后) |
| 已松开 (Released) | 按下瞬间 | 按住持续期间 | 松开阈值达到瞬间 | ❌ | 松开阈值达到瞬间 (与 Triggered 同帧靠后) |
| 点按 (Tap) | 按下瞬间 | 按住未到达时间阈值的期间 | 限时内松开的瞬间 | 超时未松手 | 限时内松开的瞬间(与 Triggered 同帧靠后) |
| 下移 (Down) | 按下瞬间 | ❌ | 按住期间的每一帧持续触发 | ❌ | 松开瞬间 |
| 长按 (Hold) | 按下瞬间 | 未达到时间阈值期间 | 达到时间阈值后一次或每帧(可配置) | 未达时间阈值提前松手 | 达标后最终松开瞬间 |
| 长按和松开 | 按下瞬间 | 读条及达标后的按住期间 | 达到时间阈值后松开的瞬间 | 未达时间阈值提前松手 | 达到时间阈值后松开的瞬间 (与 Triggered 同帧靠后) |
| 脉冲 (Pulse) | 按下瞬间 | 两次脉冲间隔的冷却期 | 达到间隔时间时瞬间触发 | 松开 | 达到连发上限 |
| 重复点击 (Combo) | 按下瞬间 | 每次按住未到达点按时间阈值的期间 | 成功完成指定点击次数的瞬间 | 单次点击超时未松开时;点冲成功松开但未达到指定次数 | 成功完成指定点击次数的瞬间(与 Triggered 同帧靠后) |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 橙菌!



