HTC手柄介绍及按键获取

您所在的位置:网站首页 手柄button HTC手柄介绍及按键获取

HTC手柄介绍及按键获取

2023-05-17 14:15| 来源: 网络整理| 查看: 265

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(); } 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” 左/右按钮"); }


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3