1. 程式人生 > >unity中連線Xbox手柄設定及按鍵檢測

unity中連線Xbox手柄設定及按鍵檢測

首先介紹一下unity輸入設定引數所代表的含義

引數名 作用描述
Name 名稱 軸的名稱,用於遊戲載入介面和指令碼中。
Descriptive Name 描述 遊戲載入介面中,軸的正向按鍵的詳細描述。
Descriptive Negative Name
反向描述
遊戲載入介面中,軸的反向按鍵的詳細描述。
Negative Button 反向按鈕 該按鈕會給軸傳送一個負值。
Alt Negative Button 備選反向按鈕 給軸傳送負值的另一個按鈕。
Alt Positive Button 備選正向按鈕 給軸傳送正值的另一個按鈕。
Gravity 重力 輸入復位的速度,僅用於型別為 鍵/滑鼠 的按鍵。
Dead  任何小於該值的輸入值(不論正負值)都會被視為0,用於搖桿。
Sensitivity靈敏度 對於鍵盤輸入,該值越大則響應時間越快,該值越小則越平滑。對於滑鼠輸入,設定該值會對滑鼠的實際移動距離按比例縮放。
Snap 對齊 如果啟用該設定,當軸收到反向的輸入訊號時,軸的數值會立即置為0,僅用於鍵/滑鼠 輸入。
Invert 反轉 啟用該引數可以讓正向按鈕傳送負值,反向按鈕傳送正值。
Type 型別 所有的按鈕輸入都應設定為 鍵/滑鼠 (Key / Mouse) 型別,對於滑鼠移動和滾輪應設為 滑鼠移動(Mouse Movement)。搖桿設為搖桿軸 (Joystick Axis),使用者移動視窗設為視窗移動 (Window Movement)。
Axis  裝置的輸入軸(搖桿,滑鼠,手柄等)。
Joy Num 搖桿編號 設定使用哪個搖桿。預設是接收所有搖桿的輸入。僅用於輸入軸和非按鍵。

手柄在unity輸入設定示意圖


左搖桿引數設定(8)


右搖桿引數設定(9)


十字鍵引數設定


LTRT鍵引數設定

這裡的左右扳機(按左鍵返回正值,按右鍵返回負值)

設定好引數後,我們通過程式碼檢測到按鍵資訊

*以下是搖桿、十字鍵、和扳機鍵的檢測設定。

using UnityEngine;
using System.Collections;

public class GetInput : MonoBehaviour {

	void Update()
	{
		float hl = Input.GetAxis ("Horizontal_Left");
		float vl = Input.GetAxis ("Vertical_Left");
		float x = Input.GetAxis ("Xbox +X");
		float y = Input.GetAxis ("Xbox +Y");
		float hr = Input.GetAxis ("Horizontal_Right");
		float vr = Input.GetAxis ("Vertical_Right");
		float t = Input.GetAxis ("LRT");


		if(Mathf.Abs(hl)>0.05f || Mathf.Abs(vl) > 0.05f)
		{
			print ("leftX:" + hl);
			print ("leftY:" + vl);
		}

		if(Mathf.Abs(x)>0.05f || Mathf.Abs(y) > 0.05f)
		{
			print ("Xbox +X:" + x);
			print ("Xbox +Y:" + y);
		}

		if(Mathf.Abs(hr)>0.05f || Mathf.Abs(vr) > 0.05f)
		{
			print ("RightX:" + hr);
			print ("RightY:" + vr);
		}

		if(Mathf.Abs(t)>0.05f)
		{
			print ("LRT:" + t);
		}
	}
}

*以下是除去搖桿後的按鍵對應資訊

A JoystickButton0/Joystick1Button0
B JoystickButton1/Joystick1Button1
X JoystickButton2/Joystick1Button2
Y JoystickButton3/Joystick1Button3
LB JoystickButton4/Joystick1Button4
RB JoystickButton5/Joystick1Button5
BACK JoystickButton6/Joystick1Button6
START JoystickButton7/Joystick1Button7
左搖桿DOWN JoystickButton8/Joystick1Button8
右搖桿DOWN JoystickButton9/Joystick1Button9

以上如有誤可評論區給予批評,謝謝留言