介绍:

罗技的赛钛克手柄(logitech-saitak X52)主要用于飞行类游戏,使用这个飞行控制器模拟飞行具有不错的体验。虚幻引擎作为一个游戏引擎应该也支持这类手柄,但虚幻引擎并不能做直接接收赛钛克手柄输入(不像XBox360,它可以直接输入进引擎)。下面记录一下如何使用Saitek手柄接入到虚幻引擎。

环境: 虚幻引擎425、Saitek X52

步骤一

首先安装Saitek X52控制器驱动,可以去官网下载(官网见:参考资料)。下载好的驱动直接点击安装即可。 安装好驱动后打开“设备管理器”,找到“人体学输入设备”,在下拉列表中找到对应的控制设备,打开“属性->详细信息->-硬件ID”。“VID_”后面的“06A3”和“PID_”后面的“075C”分别为品牌ID和设备ID。如图1-1所示。这两个值为16进制数,记下这两个值,后面引擎中会用到。

saitekx_ue_image1

图1-1

步骤二

使用虚幻引擎蓝图版本的飞机模板(Flying),在Plugins中找到并勾选插件“Windows Rawinput”,重启后在项目设置中找到“Plugins->Raw Input”。插件“Windows RawInput”提供了八个轴向的输入和二十个按钮输入。 添加一个设备配置插槽,Vendor ID和Product ID分别填入“0x06A3”和“0x075C”。在属性添加一个轴向属性,勾选上“Enable”和“Gamepad stick”。勾选上“Gamepad stick”的意思是让输入变为“-1到1”而不是“0-1”。如图2-1所示。 打开“Engine->Input”,在轴向映射下面的“MoveUp”一栏添加刚刚的一个轴向输入“GenericUSBController Axis 1”。如图2-2所示。这样手柄就可以进行输入了。

saitekx_ue_image2

图2-1

saitekx_ue_image3

图2-2

三、下面记录一下八个轴向的输入和二十个按钮输入对应关系,如图3-1所示。

saitekx_ue_image4

图3-1

四、Saitek X52支持的一些游戏,如图4-1所示。

saitekx_ue_image5

图4-1

参考资料:

saitek官网: https://www.logitechg.com/en-gb/products/space/x56-space-flight-vr-simulator-controller.945-000059.html

论坛: https://forums.unrealengine.com/t/3-new-plugins-joystick-hotas-support-blueprint-easing-functions-saitek-x52-pro/6620

官方文档 https://docs.unrealengine.com/4.26/zh-CN/InteractiveExperiences/Input/RawInput/