---------------我相信时间真的能改变一个人,就像你以前很丑,后来越来越丑。-----------------------------------
自己总结的手柄的一些按钮事件基于HTC VIVE设备,unity引擎
直接代码吧,我的注释很清楚
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class MyTranningScripts : MonoBehaviour {
//手柄
SteamVR_TrackedObject trackedObj;
// Use this for initialization
void Awake () {
trackedObj = GetComponent();
}
// Update is called once per frame
void FixedUpdate () {
//获取手柄输入
var device = SteamVR_Controller.Input((int)trackedObj.index);
//此处可以换其他的函数触发GetPress/GetTouch /GetPressUp GetTouchDown/GetTouchUp/GetAxis
#region 圆盘事件
//if (device.GetTouchDown(SteamVR_Controller.ButtonMask.Touchpad))
//{
// print("刚触摸圆盘");
//}
//if (device.GetTouch(SteamVR_Controller.ButtonMask.Touchpad))
//{
// print("正在触摸圆盘");
//}
//if (device.GetTouchUp(SteamVR_Controller.ButtonMask.Touchpad))
//{
// print("抬起圆盘");
//}
//if (device.GetPressDown(SteamVR_Controller.ButtonMask.Touchpad))
//{
// print("按下圆盘");
//}
//if (device.GetPress(SteamVR_Controller.ButtonMask.Touchpad))
//{
// print("正在按着圆盘");
//}
//if (device.GetPressUp(SteamVR_Controller.ButtonMask.Touchpad))
//{
// print("松开圆盘");
//}
#endregion
#region 扳机事件
//if (device.GetPressDown (SteamVR_Controller.ButtonMask .Trigger))
//{
// Debug.Log("我按下了扳机键/Trigger");
//}
//if (device.GetPress(SteamVR_Controller.ButtonMask.Trigger))
//{
// Debug.Log("我正在按着扳机键/Trigger");
//}
//if (device.GetPressUp(SteamVR_Controller.ButtonMask.Trigger))
//{
// Debug.Log("我松开了扳机键/Trigger");
//}
#endregion
#region 手柄侧键事件(暂时不会区分左右侧键)
if (device.GetPressDown(SteamVR_Controller.ButtonMask.Grip ))
{
Debug.Log("我按下了手柄侧键/Grip");
}
if (device.GetPress(SteamVR_Controller.ButtonMask.Grip))
{
Debug.Log("我正在按着手柄侧键/Grip");
}
if (device.GetPressUp(SteamVR_Controller.ButtonMask.Grip))
{
Debug.Log("我松开了手柄侧键/Grip");
}
#endregion
#region 手柄菜单键事件
//if (device.GetPressDown (SteamVR_Controller.ButtonMask .ApplicationMenu))
//{
// Debug.Log("按下手柄菜单键/ApplicationMenu");
//}
#endregion
}
}