赞
踩
在ue5.1版本增加了增强输入,并且废弃了之前的轴映射和操作映射。
官方文档地址:https://docs.unrealengine.com/5.1/zh-CN/enhanced-input-in-unreal-engine/
更改后的区别我体验下来,它将操作映射和轴映射类型整合到了输入操作里面,英文为 Input Action。
里面可以设置四种类型,布尔动作采用简单的 布尔 值, Axis1D 为 浮点 值, Axis2D 为 FVector2D , Axis3D 为整个 Fvector 。
按官方的文档的意思,Input Action为增强输入系统触发,然后它再去和代码通信,相当于一个中间桥的功能,所以,你可以设置不同的输入映射上下文(Input Mapping Contexts)去触发输入动作(Input Actions)。
我们可以在蓝图中鼠标右键通过名称找到相应节点,然后通过不同的触发机制设置。
我们在Input Actions里面,还可以设置输入修饰符(Input Modifiers),这个修饰符可以对当前输入的值进行额外的处理,例如更改轴顺序、实现"死区"、将轴输入转换为世界空间。
我准备用这个去实现一个对旧的操作映射的缩放的功能
官网有多种方式,我选择了最后一种,使用输入修饰符(Input Modifier) 作为父类创建新的 蓝图子类(Blueprint Child Class) ,创建自己的输入修饰符。
选择父类然后创建一个对应的子类
然后再事件上面重载下拉,修改原始,用来覆盖默认的函数。
然后再函数里面,将获取到的值进行一个缩放,然后返回节点。
最后在轴映射的蓝图里面,修改器下面增加数组元素,选择自己创建的修饰符,我直接将缩放值设置成为了变量,即可实现了对当前Input Action 的修饰。
虽然我实现的这个功能和内置的标量功能一样,但是你自己实现一下,了解一些内置的实现原理。
输入映射上下文(Input Mapping Contexts)推荐前缀IMC 是输入动作的集合,表示玩家可以处于的特定上下文。它们描述了关于什么会触发给定输入动作的规则。映射上下文可以动态地为每个用户添加、移除或优先安排次序。
上面为一个Input Action放到IMC里面的效果,基本上和之前的设置差不多。
上面的操作完成后,我们还是不能直接使用,还需要在角色蓝图中,将输入映射上下文(Input Mapping Contexts)添加给本地玩家,具体流程就是获取到玩家控制器,然后从控制器中获取到本地玩家子系统,然后添加映射上下文,选择自己创建的上下文即可。
添加输入映射上下文(Input Mapping Contexts)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。