Enhanced Input
December 29, 2023About 1 min
Enhanced Input
Enable
在Build.cs中的PublicDependencyModuleNames添加EnhancedInput。
且需要在Project Setting中确认默认的输入类型是Enhanced Input:

Core
主要有6大模块组成:
- UInputAction,输入动作,按键转换为游戏内的数值。
IA - UInputModifier,输入修改器,对输入动作中的数值做出特定修改。
IM - UInputTrigger,输入触发器,什么时候触发按键后的函数。
IT - UInputMappingContext,输入映射上下文环境,绑定输入动作到按键和执行的函数。
IMC - UEnhancedPlayerInput,输入处理,把按键关联上输入动作。
- UEnhancedInputComponent,输入组件,把输入动作关联上执行函数。
How To Use


Input Action

Input Modifier

在UInputAction和UInputMappingContext中都可以对一个输入动作设置修改器,在IMC中是全局配置。如果两个同时都配置了,两个都会生效,先执行IMC,在执行IA。
Input Trigger

Input Mapping Context

Framework
在UE中的收到按键指令后执行流程如下:先压入Pawn,再压入关卡蓝图,接着PlayerController最后EnableInput的Actors。

在UEnhancedPlayerInput中通过UInputMappingContext来触发按键和输入动作。

在EnhancedInputComponent中存储InputAction和回调的映射,使用BindAction来实现绑定。

总体流程如下:


AddMappingContext流程:

Debug
调试命令:
showdebug enhancedinput