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