HTC手柄介绍及按键获取

HTC Vive可以在游戏或者视频的时候帮助用户进行辅助操作,不过手柄的使用比较繁琐,比如指示灯的含义,还有手柄灵敏度调节、追踪状态和开机方法很多用户都不甚明了,下面是详细的HTC Vive手柄按键说明。

HTC手柄介绍及按键获取_第1张图片
HTC Vive手柄

(手柄正面)
HTC Vive手柄按键说明:
如下图所示:

HTC手柄介绍及按键获取_第2张图片
HTC Vive手柄按键说明

(HTC Vive手柄按键说明图)
1、菜单按钮
2、触控板
3、系统按钮
4、状态指示灯
5、Micro-USB端口
6、追踪感应器
7、扳机
8、手柄按钮
手柄指示灯含义:
绿色:表示HTC Vive手柄目前状态正常,可以正常使用;
蓝色:表示操控手柄已经成功和头戴式设备配对;
橙色:表示手柄正在充电,当手柄变为绿色时,表示充电完毕;
闪烁红色:手柄低电量,即将没电;
闪烁蓝色:表示操控手柄正在和头戴式设备进行配对;

HTC手柄介绍及按键获取_第3张图片
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.手柄按钮


HTC手柄介绍及按键获取_第4张图片

获取手柄对象:

public class HTCVive : MonoBehaviour {
    //获取手柄对象
    public SteamVR_TrackedObject track;
    //获取手柄对象
    public SteamVR_Controller.Device device;

    void Start () {
        track = GetComponent();
    }
    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” 左/右按钮");
 }

你可能感兴趣的:(HTC手柄介绍及按键获取)