htcvive手柄控制器

 


using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class ShouBingKongZhiQi : MonoBehaviour {

    SteamVR_TrackedObject trackdeObject;            //控制器

    public bool BanJiAnXia = false;
    public bool BanJiAnZhu = false;

    public bool CeJianAnXia = false;
    public bool CeJianAnZhu = false;
    public bool CeJianTaiQi = false;

    // Use this for initialization
    void Start () {
        trackdeObject = this.GetComponent<SteamVR_TrackedObject>();     //獲取當前的控制器
    }
    
    // Update is called once per frame
    void Update () {
        trackdeObject = this.GetComponent<SteamVR_TrackedObject>();     //獲取當前的控制器
        var device = SteamVR_Controller.Input((int)trackdeObject.index);        //獲取設備指針,確定當前設備是左手還是右手

        //==============扳機鍵======================

        //按下扳機
        if (device.GetPressDown(SteamVR_Controller.ButtonMask.Trigger))
        {
            BanJiAnXia = true;

        }
        //按住扳機鍵
        if (device.GetPress(SteamVR_Controller.ButtonMask.Trigger))
        {
            BanJiAnZhu = true;
        }
        //鬆開扳機鍵
        if (device.GetPressUp(SteamVR_Controller.ButtonMask.Trigger))
        {
            BanJiAnXia = false;
            BanJiAnZhu = false;
        }

        //==========手柄側鍵===============

        //按下抓取鍵
        if (device.GetPressDown(SteamVR_Controller.ButtonMask.Grip))
        {
            CeJianAnXia = true;
            CeJianTaiQi = false;
        }
        //按住抓取鍵
        if (device.GetPress(SteamVR_Controller.ButtonMask.Grip))
        {
            //CeJianAnXia = false;
            CeJianAnZhu = true;
            CeJianTaiQi = false;
        }
       
        //鬆開抓取鍵
        if (device.GetPressUp(SteamVR_Controller.ButtonMask.Grip))
        {
            CeJianAnXia = false;
            CeJianAnZhu = false;
            CeJianTaiQi = true;
        }
    }

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章