HTC Vive可以在游戲或者視頻的時候幫助用戶進行輔助操作,不過手柄的使用比較繁瑣,比如指示燈的含義,還有手柄靈敏度調節、追蹤狀態和開機方法很多用戶都不甚明了,下面是詳細的HTC Vive手柄按鍵說明。
HTC Vive手柄
(手柄正面)
HTC Vive手柄按鍵說明:
如下圖所示:
HTC Vive手柄按鍵說明
(HTC Vive手柄按鍵說明圖)
1、菜單按鈕
2、觸控板
3、系統按鈕
4、狀態指示燈
5、Micro-USB端口
6、追蹤感應器
7、扳機
8、手柄按鈕
手柄指示燈含義:
綠色:表示HTC Vive手柄目前狀態正常,可以正常使用;
藍色:表示操控手柄已經成功和頭戴式設備配對;
橙色:表示手柄正在充電,當手柄變為綠色時,表示充電完畢;
閃爍紅色:手柄低電量,即將沒電;
閃爍藍色:表示操控手柄正在和頭戴式設備進行配對;
HTC Vive手柄
(HTC Vive手柄按鍵說明:手柄側面)
手柄追蹤狀態查詢方法:
1、在線打開電腦上的Steam VR應用程序;
2、然后將光標懸停在未被追蹤的手柄圖標上面,之后點擊就可以進行手柄識別了;
3、如果手柄快速閃爍白色,就表示手柄已經成功識別。
開啟或者關閉手柄方法:
1、開啟手柄:直接按下手柄按鈕即可,如果聽到“嗶”的一聲,就表示已經成功的開啟了HTC Vive手柄;
2、關閉手柄:直接長按系統按鈕,如果聽到“嗶”的一聲就表示已經成功關閉了手柄。
注意,如果直接關閉了Steam VR或者是一段時間內已經使用手柄,都會導致手柄自動關閉。
手柄靈敏度調整方法:
打開電腦上的Steam應用,然后點擊“手柄”圖標,接著點擊“校準操控手柄”即可,這樣就可以完成校準過程了。
以上就是關于HTC Vive手柄按鍵說明的詳細方法了。
關于手柄在unity:
1.菜單按鈕2.觸控板3.系統按鈕(電源鍵)4.狀態指示燈5.Micro-USB端口6.追蹤感應器7.扳機8.手柄按鈕
獲取手柄對象:
public class HTCVive : MonoBehaviour {
//獲取手柄對象
public SteamVR_TrackedObject track;
//獲取手柄對象
public SteamVR_Controller.Device device;
void Start () {
track = GetComponent<SteamVR_TrackedObject>();
}
void Update () {
device = SteamVR_Controller.Input((int)track.index);
}
獲取扳機:
private void OnTriggerStay(Collider other)
{
if (device.GetPress(SteamVR_Controller.ButtonMask.Trigger))
{
Debug.Log("按了“Trigger”扳機鍵");
}
if (device.GetPressDown(SteamVR_Controller.ButtonMask.Trigger))
{
Debug.Log("按下了“Trigger”扳機鍵");
}
if (device.GetPressUp(SteamVR_Controller.ButtonMask.Trigger))
{
Debug.Log("松開了“Trigger”扳機鍵");
}
獲取圓盤(控制板)
void Update () {
if(device.GetTouch(SteamVR_Controller.ButtonMask.Touchpad))
{
float angleTrue = ReturnDirection();
if (angleTrue < -45 && angleTrue > -135)
{
Debug.Log("上");
}
if (angleTrue > 45 && angleTrue < 135)
{
Debug.Log("下");
}
if (angleTrue < 180 && angleTrue > 135 || (angleTrue < -135 && angleTrue > -180))
{
Debug.Log("左");
}
if (angleTrue > 0 && angleTrue < 45 || (angleTrue > -45 && angleTrue < 0))
{
Debug.Log("右");
}
}
手柄的震動:
//左手震動
var deviceIndex = SteamVR_Controller.GetDeviceIndex(SteamVR_Controller.DeviceRelation.Leftmost); SteamVR_Controller.Input(deviceIndex).TriggerHapticPulse(3000);
//右手震動
var deviceIndex1 = SteamVR_Controller.GetDeviceIndex(SteamVR_Controller.DeviceRelation.Rightmost); SteamVR_Controller.Input(deviceIndex1).TriggerHapticPulse(3000);
系統按鈕(電源鍵):
if(device.GetTouchDown(SteamVR_Controller.ButtonMask.System))
{
Debug.Log("按下了 “system” 系統按鈕");
}
if(device.GetPressDown(SteamVR_Controller.ButtonMask.System))
{
Debug.Log("用press按下了 “System 系統按鈕");
}
菜單按鈕:
if(device.GetTouchDown(SteamVR_Controller.ButtonMask.ApplicationMenu))
{
Debug.Log("按下了 “ApplicationMenu” “菜單鍵”");
}
if(device.GetPressDown(SteamVR_Controller.ButtonMask.ApplicationMenu))
{
Debug.Log("用press按下了 “ApplicationMenu” “菜單鍵”");
}
Grip(左、右按鈕):
//Grip鍵 兩側的鍵 ,每個手柄左右各一功能相同,同一手柄兩個鍵是一個鍵。
if(device.GetTouchDown(SteamVR_Controller.ButtonMask.Grip))
{
Debug.Log("按下了 “Grip” 左/右按鈕");
}
if(device.GetPressDown(SteamVR_Controller.ButtonMask.Grip)) {
Debug.Log("用press按下了 “Grip” 左/右按鈕");
}