1.项目设置

UE5对于输入这块功能做出了更新。在项目设置->输入的面板可以看到这块已经提示弃用了。
图中的操作映射(Action Mappings)和轴映射(Axis Mappings) 会被增强输入操作(Enhanced Input)和 输入映射上下文(Input mapping Context)代替。

操作映射针对按下和松开键;轴映射针对拥有连续范围的输入。

切换到引擎-增强输入界面

可以看到增强输入的配置针对不同平台也可以调一些预设参数。

编辑器和触发器也有一些预设参数。

2.创建文件

1).在内容目录下的合适的文件夹里,创建一个Input文件夹,用来存放增强输入的相关文件

2).右键弹出菜单,创建输入操作文件

英文名是Input Action,所以可以给它起名“IA_”开头来方便分类和查找。

3).双击文件进入文件细节 设置它的参数。

默认勾选“消耗输入”。

其他参数根据自己需要来修改。

一般"按下 松开"的操作键使用数字(布尔类型)

方向和移动相关的,使用Axis1D(浮点) 这个类型是范围-1到1的浮点数。

也可以根据自己的需要改成Axis2D或Axis3D。

触发器和修改器的内容,可以在这里预设,也可以在蓝图中自定义来代替。

4).在创建好需要的IA文件后,继续在空白地方右键菜单,创建 输入映射情境(Input Mapping Context),也就是输入映射上下文。

可以给它起名为IMC_ 开头的文件。

打开它,像之前操作映射一样,设置好IA文件和输入按键的关联映射。

3.配置蓝图

1).添加增强输入

打开需要添加增强输入的蓝图,按照以下执行:获取玩家控制器,执行引脚和增强输入本地玩家子系统(Enhanced Input Local Player Subsystem),执行引脚并添加映射上下文(Add Mapping Context),在“添加映射上下文”节点,选择之前创建的上下文文件(IMC_ 开头的文件) ,具体如下:

2).使用增强输入事件

右键菜单搜索之前创建的IA_文件,选中后自动创建该文件相关的增强输入事件。

创建好以后可以根据每个操作事件进行相应的测试,之后可以来设定输入后执行的内容。

其中,Trigger代表按住 可以用来作方向转向和移动的持续操作;
Started代表按下按键 Completed 代表松开按键。

测试下操作的内容并添加自定义的互动输入内容即可。

4.增强输入如何获取Key

创建一个函数Get Action Pressed Keys,函数内创建一个局部变量 PressedKyes 的键数组


调用该函数: