UE的UMG手柄输入控制

搞UE开发,肯定想试试一下主机游戏开发的啦,我是盲目的主机死忠党!所以如果使用手柄控进行UE开发,这事情我是必然会去尝试的!

说起这个,我也是简单尝试一下,毕竟精力都在其他事情上了~

png

这个函数是关键!

下面我们直接开始处理

在启动手柄对UMG的输入之前,我们需要在UMG 初始化的时候(AddToViewport后)将游戏的输入模式改为GameAndUI

UE默认提供了三种方式,都是继承了FInputModeDataBase FInputModeUIOnly仅ui能够接收设备的输入 FInputModeGameAndUI优先UI接收,如果UI不处理,player input / player controller就可以获取到输入! FInputModeGameOnlyplayer input / player controller可以获取到输入,UI不能获取到输入!

这里我们就说说FInputModeGameAndUI其他的差不多使用!

png

在初始化的时候,我们将任意一个Widget放置到Set Input Mode Game And UI中!上图中的Btn Login是登录界面的按钮!然后我们启动游戏,就能发现,UE5在Editor的时候就能直接在UMG中控制光标在各个可以focus的控件中切换了~(使用左摇杆),按A(xbox的,ps的没有测试)就相当于鼠标点击了!

但是如果我们想要自定义操作来控制的话(比如我们使用Gamepad Left Shoulder/Gamepad Right Shoulder来切换),那么我们可以自定义

png 这样我们就能根据输入的情况重新将Set Input Mode Game And UI设置到不通的Widget中了!