基于Unity版本 2018.4.11f1(点击下载)
设置脚踏板
脚踏板的设置需要在Unity中添加虚拟轴,添加几个轴就把图中的“Size”改为 18 加上要添加的轴的数量。
离合
刹车
油门
Name:名字
Dead:设置为0,不然得到的数字不是 Sensitivity 设置的数值
Sensitivity:建议设置成0.5(该值为0.5时,若游戏开始运行,没有触碰过脚踏板,那么该数值为0;当触碰了一次离合踏板时(触碰任何一个脚踏板后,三个脚踏板都会出现非 0 的数值),离合板完全抬起的时候数值为0.5,完全踩下时数值为-0.5)
Type:按图中所示选择
Axis:按图中所示选择
设置方向盘
十字按键
其他按键
将该DLL与C#脚本导入Unity中(点击下载DLL与脚本)
然后将下方脚本创建在Uniry中,并挂载到相机(建议)或其他物体上,然后运行测试
using System.Collections; using System.Collections.Generic; using UnityEngine; public class FunctionOne : MonoBehaviour { void Start () { // 没有这行代码,用方法二可能获取不到按键 LogitechGSDK.LogiSteeringInitialize(false); } void Update () { // 获取方向盘 if (Input.GetAxis ("Horizontal") != 0) { print (Input.GetAxis ("Horizontal")); } // 获取“脚踏板” if (Input.GetAxisRaw("Throttle") < 0.5f) { print ("油门 的值为:" + Input.GetAxisRaw("Throttle")); } if (Input.GetAxisRaw("Brake") < 0.5f) { print ("刹车 的值为:" + Input.GetAxisRaw("Brake")); } if (Input.GetAxisRaw("Clutch") < 0.5f) { print ("离合 的值为:" + Input.GetAxisRaw("Clutch")); } // 获取方向盘上的“十字按键” if (Input.GetAxisRaw("DPadX") == 0.5) { print ("按下了十字按键 右"); } if (Input.GetAxisRaw("DPadX") == -0.5) { print ("按下了十字按键 左"); } if (Input.GetAxisRaw("DPadY") == 0.5) { print ("按下了十字按键 上"); } if (Input.GetAxisRaw("DPadY") == -0.5) { print ("按下了十字按键 下"); } //方向盘所有按键获取: //方法一: //该方法在unity中只能获取0-19的键位 20-24键位需要使用方法二获取 或者全部使用方法二 if (Input.GetKeyDown(KeyCode.Joystick1Button0)) { Debug.Log("KeyCode.Joystick1Button0 方向盘 X 键"); } print (LogitechGSDK.LogiUpdate()); //方法二: if (true) { LogitechGSDK.DIJOYSTATE2ENGINES wheel; wheel = LogitechGSDK.LogiGetStateCSharp(0); for (int i = 0; i < 128; i++) { if (wheel.rgbButtons[i] == 128) { switch (i) { case 0: Debug.Log("KeyCode.Joystick1Button0 方向盘 X 键" + i); break; case 1: Debug.Log("KeyCode.Joystick1Button1 方向盘 □ 键" + i); break; case 2: Debug.Log("KeyCode.Joystick1Button2 方向盘 ○ 键" + i); break; case 3: Debug.Log("KeyCode.Joystick1Button3 方向盘 △ 键" + i); break; case 4: Debug.Log("KeyCode.Joystick1Button4 方向盘 右拨片 键" + i); break; case 5: Debug.Log("KeyCode.Joystick1Button5 方向盘 左拨片 键" + i); break; case 6: Debug.Log("KeyCode.Joystick1Button6 方向盘 R2 键" + i); break; case 7: Debug.Log("KeyCode.Joystick1Button7 方向盘 L2 键" + i); break; case 8: Debug.Log("KeyCode.Joystick1Button8 方向盘 SHARE 键" + i); break; case 9: Debug.Log("KeyCode.Joystick1Button9 方向盘 OPTION 键" + i); break; case 10: Debug.Log("KeyCode.Joystick1Butto10 方向盘 R3 键" + i); break; case 11: Debug.Log("KeyCode.Joystick1Button11 方向盘 L3 键" + i); break; case 12: Debug.Log("KeyCode.Joystick1Button12 挡位 1 挡" + i); break; case 13: Debug.Log("KeyCode.Joystick1Button13 挡位 2 挡" + i); break; case 14: Debug.Log("KeyCode.Joystick1Button14 挡位 3 挡" + i); break; case 15: Debug.Log("KeyCode.Joystick1Button15 挡位 4 挡" + i); break; case 16: Debug.Log("KeyCode.Joystick1Button16 挡位 5 挡" + i); break; case 17: Debug.Log("KeyCode.Joystick1Button17 挡位 6 挡" + i); break; case 18: Debug.Log("KeyCode.Joystick1Button18 挡位 R 挡(倒挡)" + i); break; case 19: Debug.Log("KeyCode.Joystick1Button19 方向盘 + 键" + i); break; case 20: Debug.Log("KeyCode.Joystick1Button20 方向盘 - 键" + i); break; case 21: Debug.Log("KeyCode.Joystick1Button21 方向盘 红色滚轮右滚 键" + i); break; case 22: Debug.Log("KeyCode.Joystick1Button22 方向盘 红色滚轮左滚 键" + i); break; case 23: Debug.Log("KeyCode.Joystick1Button23 方向盘 回车 键" + i); break; case 24: Debug.Log("KeyCode.Joystick1Button24 方向盘 特殊标志键 键" + i); break; } } } } } }
附一张罗技方向盘的按键说明,logitech游戏软件(点击下载)