• 您的位置:首頁 > 新聞動態 > HTC

    Vive Input Utility使用指南

    2017/11/28      點擊:

    相信各位小夥伴們在使用SteamVR Unity Plugin的過程(chéng)中應該都(dōu)遇到(dào)過這樣的問題:獲取設備很麻煩(fán),設備在重啟後indexID會改變從而導致設置好的左右手設備(bèi)出現交錯;無法與UGUI的事件係統連接導致無法(fǎ)使用UGUI等(děng)等很多問題。

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

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


    AV永久天堂网_奇米狠狠色_亚洲欧美日韩动漫_欧美日韩视频在线观看免费一区二区_日韩精品一二三区_国产AV网站18禁止人_久久久久久精品人妻免费网站不卡_国产最新视频_另类免费视频在线视频二区_久久精品免视国产