Unity SteamVR获取手柄按钮触发事件
生活随笔
收集整理的這篇文章主要介紹了
Unity SteamVR获取手柄按钮触发事件
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在unity如何獲取VR手柄的按鈕
1.首先創建一個C#Script并綁定在任意gameobect上,
using UnityEngine; using System; using System.Collections; using System.Collections.Generic; using System.Collections.ObjectModel; using UnityEngine.Events; using Valve.VR; using Valve.VR.InteractionSystem; namespace Valve.VR.Extras {public class Press : MonoBehaviour{SteamVR_Behaviour_Pose pose;public SteamVR_Action_Boolean teleport = SteamVR_Input.GetBooleanAction("Teleport");private GameObject behaviourR;// Use this for initializationvoid Start(){behaviourR = GameObject.Find("RightHand");pose = behaviourR.GetComponent<SteamVR_Behaviour_Pose>();}// Update is called once per framevoid Update(){if (teleport.GetStateDown(pose.inputSource)){x = true;}else if (teleport.GetStateUp(pose.inputSource)){x = false;}}} }這是控制手柄Teleport鍵的代碼 ↓
public SteamVR_Action_Boolean teleport = SteamVR_Input.GetBooleanAction("Teleport");這是控制右手手柄的的代碼 ↓
void Start(){behaviourR = GameObject.Find("RightHand");pose = behaviourR.GetComponent<SteamVR_Behaviour_Pose>();}如果需要再控制左手手柄,可以改成這樣,它主要是獲取Player中的RightHand或LightHand上的SteamVR_Behaviour_Pose腳本
void Start(){behaviourR = GameObject.Find("RightHand");pose = behaviourR.GetComponent<SteamVR_Behaviour_Pose>();behaviourL = GameObject.Find("LightHand");poseL = behaviourL.GetComponent<SteamVR_Behaviour_Pose>();}本腳本主要是控制Update中的X來判斷按鍵是否按下
void Update(){if (teleport.GetStateDown(pose.inputSource)){x = true;}else if (teleport.GetStateUp(pose.inputSource)){x = false;}}總結
以上是生活随笔為你收集整理的Unity SteamVR获取手柄按钮触发事件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 验证boost是否安装成功
- 下一篇: Could not set proper