1. 首先要知道的是,通过控制器可以操控鼠标是否显示
playerController中的 show mouse cursor
2. 设置完是否展示鼠标后立即更改inputModeGame可以使鼠标立即消失而无需点一下才消失
这两种都可以立即隐藏鼠标,但是里面有一个坑点,下一条再说
注意:有一个说法是In Mouse Lock Mode需要调整,只有lock到当前游戏窗口,鼠标才能立即消失,如果没有lock,应该是需要多点一下来获取窗口聚焦,很恶心
3. Any key可以识别所有的key down input事件,除了鼠标的2d-axis,这玩意需要单独识别
其中,只有在gameModeOnly时,鼠标的移动才始终会识别为输入,否则一定要伴随着keyDown事件才会识别为输入。
4. 5.3中新增加了特性,可以判断最近输入的设备
论坛是真的很有用,我都不知道有这个新特性
https://forums.unrealengine.com/t/detect-input-device/414096
官方文档
https://dev.epicgames.com/documentation/en-us/unreal-engine/BlueprintAPI/InputDevices/GetMostRecentlyUsedHardwareDevic-?application_version=5.3
我现在需要的是识别输入设备,然后判断是不是gamepad,是的话不显示鼠标,反之展示。
通过anykey和mouse xy 2d-axis的识别来判断输入设置,具体如下
蓝图链接:
https://blueprintue.com/blueprint/m19-nmo0/
tick中进行输入设备的判断。当然,放到计时器里也是正确选择。
蓝图链接:
https://blueprintue.com/blueprint/s6l-wyqq/
注:这里的playerId是额外自己set的,没set过一直都是0
应该是本地多人游戏的一种应用