• 您(nín)的位置:首頁(yè) > 新聞動態 > HTC

    Vive Input Utility使用指南

    2017/11/28      點擊:

    相信(xìn)各位小(xiǎo)夥伴們在使用SteamVR Unity Plugin的過程中應該都遇到過這樣的問題:獲取設備很麻煩,設備在重啟後(hòu)indexID會改變從而導致設(shè)置好的(de)左右手設備出現(xiàn)交錯;無法與(yǔ)UGUI的事件係統連接導致無法使用UGUI等等很多問(wèn)題。

    一、簡介(jiè): 
            Vive Input Utility是一個基於SteamVR插件的開發工(gōng)具。能讓開發(fā)者更方便的控製Vive設(shè)備(bèi)。我們同時也開發了(le)在3D環境下能運用的鼠標指針方案,並適配Unity Event System。通過使用這個工具,開發者可以(yǐ)省下很多用來管(guǎn)理Vive設(shè)備的(de)冗餘(yú)代碼。 
    二、目(mù)的: 
            Unity SteamVR的插件給開發者提供了一個C#的接口來和Vive設備交互。但在獲得控製器輸入狀態或者設備姿態會形(xíng)成很多冗餘代碼: 
                    不論控製器是否被(bèi)連接,你都必須(xū)不斷從(cóng)SteamVR_ControllerManager獲取正確的設備索引; 
                    定位SteamVR_ControllerManager也需(xū)要花很多功夫(fū); 
            所以,我們的主(zhǔ)要目標就是給開發者提供便利的接(jiē)口並減少冗(rǒng)餘工作。 
    三、主要特點: 
            使用靜態函數獲取設備輸入:按鍵輸出、手柄位置; 
            使用ViveRaycaster component實現3D鼠標指針,並適配Unity Event System; 
    四(sì)、靜態接口: 
            獲取(qǔ)按鈕事件: 
                    原本要通(tōng)過SteamVR腳(jiǎo)本來找到設備; 
                   (見圖2) 
                    靜態(tài)類Vive Input提供了一個更簡潔的API; 
                   (見圖3) 
            監聽按鈕事件: 
                    ViveInput同樣提供回調類型監聽器; 
                   (見圖4) 
            獲(huò)得追蹤pose: 
                    靜態類VivePose提供(gòng)了獲得設備pose的API; 
                   (見圖5) 

    五、輔助組件(jiàn): 
            Vive Pose Tracker 
                    類似於SteamVR_TrackedObject,但目標設備使用ViveRole.DeviceRole替代了device index 
                   (見圖6) 
            Pose Modifier 
                    這(zhè)是一個pose tracker的(de)追蹤效果腳本 
                    實現抽象類PoseTracker.BasePoseModifier可(kě)以編寫自定義的追蹤效果。 
                    有無Pose Modifier對比(見圖(tú)7) 
                    有無Pose Modifier視頻效果 
                    https://vimeo.com/171724218 
                    https://vimeo.com/171724270 
            Vive射線器及射線方法: 
                     Vive Raycaster是一(yī)個發送vive按鈕事件的射線(xiàn)事件腳本。 
                     通過結合Vive Pose Tracker和(hé)Vive Raycaster,你的控製器可以像(xiàng)一個3D鼠標一樣使用。 
                     Vive Raycaster必須和Raycast方法一起使用。(見圖8) 
                     比(bǐ)如,你可以像這樣布置來和UGUI菜單交互。(見圖(tú)9) 
                    更多的例子(見圖10):https://vimeo.com/169824408                               https://vimeo.com/169824438 
            事件係統處理器: 
                    你必須布置一個事件係統處理器去獲(huò)取由事(shì)件射線器發出(chū)的(de)事件: 
                    在對象上增加事(shì)件處理器組件(從IEventSystemHandler派生出來) 
                    在(zài)對象或者子對象上增加可被射(shè)線觸發的組件(如Collider/Collider2D/Graphic) 
                    (見圖11) 
    今天的教程就到這邊結(jié)束了(le),下一篇會給大家帶來Vive Input Utility API接口的介紹(shào)。請大家關注。大家有什麽問題可以在樓下討論。 


    日本中出视频|午夜免费福利在线|亚洲精品亚洲人成在线下载|国产高潮流白浆免费观看不卡|偷拍亚洲欧美|亚洲中文字幕久爱亚洲伊人|久久久久香蕉视频|国产欧美日韩一区|久久国产成人亚洲精品影院老金|久久久久中文字幕