unity3D VR手柄模型替换

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
/// 
/// 挂脚本前记得要把SteamVR_TrackedController也挂到手柄上
/// 所以当使用的时候挂了2个脚本一个是本脚本一个是SteamVR_TrackedController
/// 
public class Show : MonoBehaviour {
    public bool isShowGun = false;      //设置枪初始显示状态
    public GameObject Gun;         //公开一个枪的模块用于拖拽
    public GameObject mod;          //公开一个手柄模型
    SteamVR_TrackedController steamVR;  //定义一个 SteamVR_TrackedController 对象
    void showGun()  //显示枪的BOOL函数
    {
        Gun.SetActive(true);//枪模型是真
        mod.SetActive(false);//手柄模型是假
    }
    void shouMod()//显示手柄的bool函数
    {
        Gun.SetActive(false);//枪模型是假的
        mod.SetActive(true);//手柄模型是真的
    }

    void Start () {

        Gun.SetActive(false);//设置枪的隐藏状态
        steamVR = GetComponent();//给对象一个组件
        steamVR.MenuButtonClicked += OnMenuButtonClicked;//OnMenuButtonClicked将这个函数附加给控制组件
        //这个键代表圆盘上面的键
        if (isShowGun)//如果要显示枪
        {
            showGun();//调用函数
        }
        else//如果不显示枪
        {
            shouMod();//调用函数
        }
    }

    void Update () {

    }
   void OnMenuButtonClicked(object sender, ClickedEventArgs e)//定义一个函数附加给控制组件
    {
        if (isShowGun==false)//当状态为假的时候
        {
            shouMod();//调用函数
            isShowGun = true;//将状态定义成真
        }else if (isShowGun == true)//当状态为真时
        {
            showGun();//调用函数
            isShowGun = false;//将状态定义为假
        }
    }
}

你可能感兴趣的:(unity3d,vr入门,手柄)