启用插件与最小例子
启用
Enhanced Input 是引擎内置插件(Enhanced Input),默认开启。若意外关闭:Edit → Plugins → 搜索 Enhanced Input → 启用。
旧系统与新系统的切换在 Project Settings → Input → Default Classes:
- Default Input Component Class:选 EnhancedInputComponent(新项目默认)。
一个最小例子(蓝图)
第 1 步:建 Input Action
内容浏览器 → Input → Input Action,命名 IA_Jump:
- Action Type(值的类型):Boolean(布尔:跳/不跳)。
三种主要类型:Boolean(跳/开火)、Axis1D(一维:油门)、Axis2D(二维:移动/看视角)、Axis3D少见。
第 2 步:建 Input Mapping Context
内容浏览器 → Input → Input Mapping Context,命名 IMC_Default:
- 点 Mappings 加一行:Keys → Space Bar,Actions → IA_Jump。
第 3 步:角色挂载并启用
角色蓝图:
BeginPlay
→ Get Controller → Get Enhanced Input Local Player Subsystem
→ Add Mapping Context(IMC_Default, 优先级 0)
第 4 步:绑定事件
角色蓝图事件图表:
EnhancedInputAction Jump(选择 IA_Jump)
→ Jump(角色自带节点)
跑游戏按空格 → 角色跳。期间没有一行项目设置的硬编码。
这个最小例子的扩展点
- 换手柄按键:IMC 里加一行
Gamepad Face Button Bottom → IA_Jump——逻辑蓝图一个字不改; - 长按跳:IMC 那一行的 Trigger 加一个 Hold(时长 0.5s);
- 手柄摇杆移动:建 Axis2D 类型的 IA_Move,IMC 映射两个按键(W/S → 上下,A/D → 左右,或在 Modifier 里用 Swizzle/合并)。
UE5 推荐目录结构
Content/Input/
Actions/ IA_*
Contexts/ IMC_*
Modifiers/ 自定义修饰器
Triggers/ 自定义触发器
本章小结
- 插件默认开启;注意 Project Settings 的 Default Input Component Class。
- 最小例子四步:建 IA → 建 IMC → 启用 IMC → 绑定 EnhanceInputAction 事件。
- 换按键 / 改手感全部在资产里做,逻辑代码零改动。
