unreal 5.1 增强输入实现

在这里插入图片描述

在ue5.1版本增加了增强输入,并且废弃了之前的轴映射和操作映射。
官方文档地址:https://docs.unrealengine.com/5.1/zh-CN/enhanced-input-in-unreal-engine/
在这里插入图片描述

输入动作(Input Actions)

更改后的区别我体验下来,它将操作映射和轴映射类型整合到了输入操作里面,英文为 Input Action。
在这里插入图片描述
里面可以设置四种类型,布尔动作采用简单的 布尔 值, Axis1D 为 浮点 值, Axis2D 为 FVector2D , Axis3D 为整个 Fvector 。
按官方的文档的意思,Input Action为增强输入系统触发,然后它再去和代码通信,相当于一个中间桥的功能,所以,你可以设置不同的输入映射上下文(Input Mapping Contexts)去触发输入动作(Input Actions)。
在这里插入图片描述
我们可以在蓝图中鼠标右键通过名称找到相应节点,然后通过不同的触发机制设置。
在这里插入图片描述

输入修饰符(Input Modifier)

我们在Input Actions里面,还可以设置输入修饰符(Input Modifiers),这个修饰符可以对当前输入的值进行额外的处理,例如更改轴顺序、实现"死区"、将轴输入转换为世界空间。
我准备用这个去实现一个对旧的操作映射的缩放的功能
在这里插入图片描述
官网有多种方式,我选择了最后一种,使用输入修饰符(Input Modifier) 作为父类创建新的 蓝图子类(Blueprint Child Class) ,创建自己的输入修饰符。
在这里插入图片描述
选择父类然后创建一个对应的子类
在这里插入图片描述
然后再事件上面重载下拉,修改原始,用来覆盖默认的函数。
在这里插入图片描述
然后再函数里面,将获取到的值进行一个缩放,然后返回节点。
在这里插入图片描述
最后在轴映射的蓝图里面,修改器下面增加数组元素,选择自己创建的修饰符,我直接将缩放值设置成为了变量,即可实现了对当前Input Action 的修饰。
在这里插入图片描述
虽然我实现的这个功能和内置的标量功能一样,但是你自己实现一下,了解一些内置的实现原理。

输入映射上下文(Input Mapping Contexts)

在这里插入图片描述
输入映射上下文(Input Mapping Contexts)推荐前缀IMC 是输入动作的集合,表示玩家可以处于的特定上下文。它们描述了关于什么会触发给定输入动作的规则。映射上下文可以动态地为每个用户添加、移除或优先安排次序。
在这里插入图片描述
上面为一个Input Action放到IMC里面的效果,基本上和之前的设置差不多。

在角色蓝图中实现

上面的操作完成后,我们还是不能直接使用,还需要在角色蓝图中,将输入映射上下文(Input Mapping Contexts)添加给本地玩家,具体流程就是获取到玩家控制器,然后从控制器中获取到本地玩家子系统,然后添加映射上下文,选择自己创建的上下文即可。
在这里插入图片描述
添加输入映射上下文(Input Mapping Contexts)
在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_30100043/article/details/130925890
5.1
今日推荐