启用插件与最小例子

启用

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 事件。
  • 换按键 / 改手感全部在资产里做,逻辑代码零改动。