虚幻4绑定按键操作切换视角
虚幻4绑定按键操作
常用方法
- 点击编辑->项目设置->引擎->输入
- 这里有两种映射。如果按键不需要值,如跑步速度等,则使用操作映射即可;如果需要值,则使用轴映射。
- 点击对应映射后的加号+,添加一组新映射,可以选择映射对应的按键,虚幻引擎提供了大部分常用的输入操作,如需使用特殊的输入,如手柄等
- 轴映射选项中的“缩放”,指的是按下按键时所传递的值,按键只可以输入这一种值。如果使用手柄摇杆,则其代表摇杆推到死区前极限位置时的值,即摇杆轴的最值,如果未设置值偏移,则摇杆可输入0~最值之间所有值。
- 如本文下图所示,按下W/S则传递15/-15值,按下P则只是操作映射,不传递任何值。
- 配置完成后,即可至蓝图中设置按键对应操作。右键搜索映射名,如本文中搜索printInfo和forward/backward,即可找到对应输入事件。
- Pressed指的是按下去的瞬间的操作,Released指的是松开按键瞬间的操作。之后连接按键对应事件即可。
- 所有在引擎->输入中的配置,均会保存在projectname\Config\DefaultInput.ini文件中,如需拷贝或移动项目,将DefaultInput.ini文件一并移动,就无需重新配置输入了。
备选方法
- 要绑定按键操作,首先需要获取玩家控制器,默认的玩家输入为玩家控制器0
在蓝图右键搜索get player controller,添加该控件 - 判断按键按下,在蓝图右键搜索is input key down,如搜不到,请取消情境关联
- 点击key后的none,搜索要绑定的按键,如本文选择键盘T键
- 接下来主要就是连线,如果需要程序持续检测是否有按键按下,这里采用的是将判断按键按下绑定至事件TICK,即每帧都进行判断
如上图连线,每帧判断按键T和R是否按下,T按下则执行第一个分支的True后连接的事件,R则第二个分支的True,均没有按下则不进行任何操作。
- 这种方法与常用方法有一个差别,key down代表的是按键按下的状态,而不是瞬间。所以,如果我单次持续按住P键5s,在常用方法中,只会触发一次Pressed的事件,而在这种方法中,会触发5s的is input key down事件。
虚幻4切换第一第三人称视角
笔者先在一本古早教材中学习的上文的备选方法,因此写此文档时使用的是备选方法的按键操作绑定。但是很显然,切换视角一般只需按一下即可,而不是长按按键切换视角。因此采用常用方法才是正确明智的选择。读者了解切换视角使用的蓝图函数即可,切勿照搬下文中图4绑定按键操作的方法。
- 切换视角用到的控件为set view target with blend“使用混合设置视图目标”,在蓝图上右键搜索该控件
- 目标引脚需要连接玩家控制器,如果只有一个玩家,则默认连接玩家控制器0,即为切换当前可控制角色。获取玩家控制器为上文的get player controller
- new view target即为切换至的新的视角,该引脚需连接一个actor对象引用,可新建一个变量,类型为actor对象,默认值设置为对应actor对象,然后获取该变量,然后将该变量连接至该引脚
- 连线本文连线如图所示,表示判断按键R否按下,按下则切换至myplayer0 actor视角
- 如果同一个actor有多个视角(摄像机),例如第一人称视角和第三人称视角,那么在切换时还需要设定当前激活的摄像机。
- 具体操作为,搜索set active,其中的New active选项,不打勾即为取消激活,打勾为激活,目标则连接对应的摄像机组件
- 如下图所示,按下切换至第一人称视角的按键后,先将对应actor的所有摄像机都取消激活,再激活对应的第一人称视角摄像机,再选择切换至该actor视角,即可正确切换至该actor第一人称视角。