close

※需先安裝Steam,並使用Steam開啟VR裝置

 

恩...真的很簡單,難就難在UI介面的配置.........

 

先開啟一個新專案

 

Windows → Asset Store或使用Ctrl+9開啟Asset Store

 

搜尋SteamVR,下載並引入專案內

 

引入完畢後會出現這個視窗,選擇 Accept All

 

之後可先將場景上的Camera移除,並將 SteamVR 的 CameraRig 拖入場景中

此物件所照到的東西就是Vive頭盔內看到的畫面了~~

 

下面這張圖的紅框處,影響的是Vive使用者移動的範圍,也就是會在這個邊緣顯示出綠色網狀物,相當於提醒使用者這是牆壁

 

建議可以選擇Calibrated,也就是使用Vive的房間設定,此選項能讓使用者自由選擇遊玩空間

 

接下來就是用程式碼來取得兩隻控制器的按鈕狀態了~

新增一個C# script,命名為Controller


using UnityEngine;
using Valve.VR;

public class Controller : MonoBehaviour
{
    private SteamVR_TrackedObject trackObj;//控制器

    //取得控制器的哪個按鈕被壓下、放開、觸碰
    private SteamVR_Controller.Device controller
    {
        get
        {
            return SteamVR_Controller.Input((int)trackObj.index);
        }
    }

    //這個範例示範如何確認控制器的選單鈕是否被按下
    private EVRButtonId button = EVRButtonId.k_EButton_ApplicationMenu;
    private bool buttonPressed;

    private void Start ()
    {
        trackObj = GetComponent<SteamVR_TrackedObject>();//取得控制器腳本物件
    }
    
    private void Update ()
    {
        if(controller == null)
        {
            Debug.Log("控制器並沒有被初始化");
            return;
        }

        buttonPressed = controller.GetPressDown(button);//取得控制器的選單按鈕是否有被按下
        Debug.Log(buttonPressed);
    }
}


之後把腳本掛在控制器上就完成了~

 

 

P.S.最先開啟電源的控制器就是右手。

arrow
arrow
    全站熱搜

    Yang 發表在 痞客邦 留言(0) 人氣()