搞UE开发,肯定想试试一下主机游戏开发的啦,我是盲目的主机死忠党!所以如果使用手柄控进行UE开发,这事情我是必然会去尝试的!
说起这个,我也是简单尝试一下,毕竟精力都在其他事情上了~
这个函数是关键!
下面我们直接开始处理
在启动手柄对UMG的输入之前,我们需要在UMG 初始化的时候(AddToViewport
后)将游戏的输入模式改为GameAndUI
UE默认提供了三种方式,都是继承了
FInputModeDataBase
FInputModeUIOnly
仅ui能够接收设备的输入FInputModeGameAndUI
优先UI接收,如果UI不处理,player input / player controller
就可以获取到输入!FInputModeGameOnly
仅player input / player controller
可以获取到输入,UI不能获取到输入!
这里我们就说说FInputModeGameAndUI
其他的差不多使用!
在初始化的时候,我们将任意一个Widget
放置到Set Input Mode Game And UI
中!上图中的Btn Login
是登录界面的按钮!然后我们启动游戏,就能发现,UE5在Editor的时候就能直接在UMG中控制光标在各个可以focus的控件中切换了~(使用左摇杆),按A
(xbox的,ps的没有测试)就相当于鼠标点击了!
但是如果我们想要自定义操作来控制的话(比如我们使用Gamepad Left Shoulder
/Gamepad Right Shoulder
来切换),那么我们可以自定义
这样我们就能根据输入的情况重新将Set Input Mode Game And UI
设置到不通的Widget
中了!
PREVIOUSUE的gameplay基础
NEXTUE的UMG和Control交互