跑跑車游戲網(wǎng)
您的位置:首頁VR資訊中心VR技術(shù)教程 → Vive Input Utility詳細使用指南

Vive Input Utility詳細使用指南

2016/10/12 8:44:21來源:本站整理作者:不詳我要評論(0)

Vive Input Utility是Htc Vive官方推出的一款VR開發(fā)軟件,能夠讓你更好的在Htc Vive上進行開發(fā),下面帶來詳細的使用指南。

一、簡介:

Vive Input Utility是一個基于SteamVR插件的開發(fā)工具。能讓開發(fā)者更方便的控制Vive設(shè)備。

我們同時也開發(fā)了在3D環(huán)境下能運用的鼠標指針方案,并適配Unity Event System。

通過使用這個工具,開發(fā)者可以省下很多用來管理Vive設(shè)備的冗余代碼。

二、目的:

Unity SteamVR的插件給開發(fā)者提供了一個C#的接口來和Vive設(shè)備交互。

但在獲得控制器輸入狀態(tài)或者設(shè)備姿態(tài)會形成很多冗余代碼:

不論控制器是否被連接,你都必須不斷從SteamVR_ControllerManager獲取正確的設(shè)備索引;

定位SteamVR_ControllerManager也需要花很多功夫;

所以,我們的主要目標就是給開發(fā)者提供便利的接口并減少冗余工作。

三、主要特點:

使用靜態(tài)函數(shù)獲取設(shè)備輸入:按鍵輸出、手柄位置;

使用ViveRaycaster component實現(xiàn)3D鼠標指針,并適配Unity Event System;

四、靜態(tài)接口:

獲取按鈕事件:

原本要通過SteamVR腳本來找到設(shè)備;

(見圖2)

靜態(tài)類Vive Input提供了一個更簡潔的API;

(見圖3)

監(jiān)聽按鈕事件:

ViveInput同樣提供回調(diào)類型監(jiān)聽器;

(見圖4)

獲得追蹤pose:

靜態(tài)類VivePose提供了獲得設(shè)備pose的API;

(見圖5)

五、輔助組件:

Vive Pose Tracker

類似于SteamVR_TrackedObject,但目標設(shè)備使用ViveRole.DeviceRole替代了device index

(見圖6)

Pose Modifier

這是一個pose tracker的追蹤效果腳本

實現(xiàn)抽象類PoseTracker.BasePoseModifier可以編寫自定義的追蹤效果。

有無Pose Modifier對比(見圖7)

有無Pose Modifier視頻效果

https://vimeo.com/171724218

https://vimeo.com/171724270

Vive射線器及射線方法:

Vive Raycaster是一個發(fā)送vive按鈕事件的射線事件腳本。

通過結(jié)合Vive Pose Tracker和Vive Raycaster,你的控制器可以像一個3D鼠標一樣使用。

Vive Raycaster必須和Raycast方法一起使用。(見圖8)

比如,你可以像這樣布置來和UGUI菜單交互。(見圖9)

更多的例子(見圖10):https://vimeo.com/169824408 https://vimeo.com/169824438

事件系統(tǒng)處理器:

你必須布置一個事件系統(tǒng)處理器去獲取由事件射線器發(fā)出的事件:

在對象上增加事件處理器組件(從IEventSystemHandler派生出來)

在對象或者子對象上增加可被射線觸發(fā)的組件(如Collider/Collider2D/Graphic)

(見圖11)



網(wǎng)友評論

發(fā)表評論

(您的評論需要經(jīng)過審核才能顯示)

查看所有0條評論>>