中文资源在线天堂,狠狠亚洲婷婷综合色香五月排名,亚洲熟妇丰满多毛xxxx,大陆熟妇丰满xxxxx

  • Vive Input Utility使用指南

    2017/11/28??????點(diǎn)擊:

    相信各位小伙伴們?cè)谑褂肧teamVR Unity Plugin的過(guò)程中應(yīng)該都遇到過(guò)這樣的問(wèn)題:獲取設(shè)備很麻煩,設(shè)備在重啟后indexID會(huì)改變從而導(dǎo)致設(shè)置好的左右手設(shè)備出現(xiàn)交錯(cuò);無(wú)法與UGUI的事件系統(tǒng)連接導(dǎo)致無(wú)法使用UGUI等等很多問(wèn)題。

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

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