基於XR Interaction ToolKit開發的VR雙平臺兼容項目(一)

       公司有個需求,需要把模型通過VR的形式展示,但設備並不是一種,有htc的vive跟oculus的quest。如果說是工程分開來做的話可以htc就用steamVR開發,quest的話就用oculus integration來開發。但兩套工程的話工作量有點大,而且後期的更新維護也相當不方便。當然也嘗試過同一個工程加入這兩個插件,結果發現會有衝突,steamVR直接就不啓動了,只好放棄這個想法。

        聽別人介紹知道unity已經有一個插件可以兼容XR所有產品--XR Interaction toolkits,自己查閱相關資料發現可以一試,但奈何因爲這插件現在也是內測版,國內使用的人不多,能參考的資料也有限,只能靠着網頁翻譯來了解國外開發者對這插件的一些使用體驗。這裏主要記錄下使用XR Interaction toolkits的使用流程,以便日後需要用的話能回來看看,如果正好能幫到有需要的人,那就再好不過了。

       官方在github上已經開源了一套demo(點擊跳轉),只要將這demo在unity加載正常運行的話,就能夠正常調用VR操作的了,當然在這之前還需要做一系列的準備工作,接下來會一一說明。

        首先說一下我的開發環境

操作系統:Windows 10

開發平臺:Unity 2019.3.4f1

使用插件:XR Interaction ToolKit preview0.9.4

發佈平臺:HTC Vive,Oculus Quest

       windows這邊,默認還是需要安裝steam跟steamVR,註冊賬號跟配置這裏就不詳細說了,網上基本都有教程。

       要說明一點的是,在使用XR Interaction toolkits時,windows環境是默認會使用SteamVR的。跟使用unity的steamVR插件一樣,當你運行unity工程時,steamVR.exe同樣是會啓用的,所以當你成功導入這套demo到unity裏面 如果運行時steamVR不能啓動,那就要檢查一下steamVR的環境有沒有配好,這裏也不贅述了。

        Quest這邊的話也有幾個小點需要注意的。首先quest需要連接到 oculus link這個app將開發者模式打開,這個操作可能需要用到梯子,查閱一下網上的教程基本就知道了;因爲quest實際上也是安卓設備,所以unity還需要配置好安卓環境;同時也需要一根數據線進行數據傳輸,如果是手提電腦開發可以利用同一路由來傳輸數據;安卓端的開發與測試一向是比較麻煩的,因爲不能直接看到日誌輸出,而且每次測試都需要戴上頭顯相當彆扭,這邊還是找到了一個方案來解決這個問題。

       首先我是用安卓測試的那套方法來查看日誌輸出,也就是adb+ddms,只要能成功連接上quest的話ddms就能像安卓手機一樣輸出日誌。至於畫面輸出的話我是用Scrcpy這款插件,只要裝了adb的話連接上quest那麼畫面就能直接顯示。至於quest端需要戴上才能顯示畫面的問題就更好解決了,頭套的鼻樑處有一個紅外感應,只要貼張紙上去就能一直顯示頁面!不過要注意的事如果畫面不關的話手柄的電池會一直耗,我就因爲忘記撕貼紙導致手柄裝了新電池一天就沒電了。。。

      當一切設置正常的話,scrcpy跟ddms上的顯示如下面兩個圖片顯示的那樣了

        這樣開發前的準備工作就大概完成了,接下來就可以進行Unity開發了。

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章