? 入手了Pico 4 E做VR開發,誰知入了天坑...根據官方文檔,嘗試了串流助手、企業串流、PICO Developer Center,陷入了各種版本問題、環境問題的陷阱。而且Pico4E的OS自24年12開始就不再更新,頭盔中預裝的企業串流版本也較低,網上與Pico4E相符的解決方案少之又少……總之折騰了好幾天,終于完成了萬里長征的第一步——解決了有線串流連接的問題,即使用有線串流實時預覽Unity生產的VR場景。(為什么使用有線串流呢?條件限制,路由器太老,無法使用無線。)
? 下面開始詳細記錄串流連接的過程:
目錄
1. 基本情況
2. 電腦端安裝軟件
3. 使用“企業串流”和“SteamVR”串流連接頭盔和電腦
4. Unity安裝插件
5. Unity中的環境設置
6. 建立測試場景
7. 運行測試場景
8. 其他問題
1. 基本情況
? (1)大致的思路是:Unity->SteamVR->企業串流->USB3.0連接頭盔
? (2)電腦端的情況:
? ? ? ? ? ? 操作系統:Windows10或Windows11
? ? ? ? ? ? 顯卡:NVidia 3060
? ? ? ? ? ? Unity:2023.2.20f1c1
? (3)頭盔端的情況:
? ? ? ? ? ? ?硬件:Pico 4 Enterprise(企業版)
? ? ? ? ? ? ?操作系統版本:V5.9.9 (無法更新)
? ? ? ? ? ? ?企業串流版本:V1.2.9?(無法更新)
? (4)連接線情況:使用TypeC轉USB3.0線,插在電腦USB3.0口(藍色)
2. 電腦端安裝軟件
? (1)安裝“企業串流”:
? ? 有些教程介紹的“Pico互聯”、“Pico游戲串流助手”,以及最新的“PICO Developer Center”等軟件,都與頭盔中的串流軟件版本有沖突,試過下載各種歷史版本都不行,最后還是老實安裝“企業串流”。下載地址為:企業串流下載
? 找到適合的版本下載并默認安裝。
? (2)安裝Steam VR:
??
? ? ?先要安裝Steam,下載地址為:Steam軟件下載,點擊“安裝STEAM”默認安裝。安裝完成后注冊賬號并登錄。
? ? ?之后選擇“庫”->搜索“steamvr"->安裝 軟件會自動安裝
3. 使用“企業串流”和“SteamVR”串流連接頭盔和電腦
? (1)打開“企業串流”軟件,選擇USB連接方式
? (2)根據“企業串流”軟件提示,將頭盔使用Type-C轉USB3.0連接到電腦,并點擊“下一步”
? (3)VR頭盔端也需要打開“企業串流”
? (4)“企業串流”軟件會自動啟動SteamVR,連接成功后,會顯示如下畫面
? SteamVR會顯示連接成功的綠色圖標
? 頭盔中會顯示SteamVR的界面
4. Unity安裝插件
? ?(1)在Hub中安裝Unity編輯器之時,需要添加Android模塊
? (2)新建工程:普通工程即可
? (3) 下載安裝插件:Window->Package Manager->搜索“XR”,搜索出來的XR Interaction Toolkit和OpenXR Plugin都要安裝;
? 在安裝XR Interaction Toolkit時會出現一個警告窗口,直接選擇“Yes”;
? XR Interaction Toolkit安裝完成后,再下載一個示例場景,以便于頭盔和手柄的設置;
5. Unity中的環境設置
? (1)打開Unity菜單欄中的Edit->Project Settings,設置XR Plug-in Management,勾選“OpenXR”;
? 安卓部分也需要勾選一下。注* (親測)這里的OpenXR如果不勾選,手柄激光線無法使用。
? (2)設置下面的OpenXR項,點擊“+”號,這里沒有Pico相關的項目,以“Oculus Touch Controller Profile”代替;最上方的渲染模式設置為“Multi-pass”;
? (3) 暫時先設置這些,因為我目前只需要實現串流調試。如果需要將場景文件傳輸到頭盔中,脫離電腦運行VR場景,那還需要對Android平臺的設置。
6. 建立測試場景
? (1)建立一個平面Plane,用于承載第一人稱控制器(有重力);
? (2)在Hierarchy中空白處點右鍵->XR->XR Origin(VR),建立了“XR Interaction Manager”和“XR Origin (XR Rig)”兩項;
? (3)在XR Origin (XR Rig)上點右鍵->XR->Locomotion System,在XR Origin (XR Rig)下面建立一個Locomotion System
? (4)配置手柄:在Hierarchy中選擇“Left Controller”,按下面的這個設置按鍵,在彈出窗口中選擇“XRI Default Left Controller”設置文件,右手柄“Right Controller”也使用類似的設置方式,不同的是右手柄的設置文件選擇“XRI Default Right Controller”;
? 需要注意的是設置完成后,“Left Controller”中所有的設置項目都有“Left”,“Right Controller”中所有的設置項目都有“Right”
? (5)配置Locomotion System:對于用于實現旋轉功能的"Snap Turn Provider(Action-based)"腳本,點擊設置按鈕,選擇“XRI Default Snap Turn”
? 再將其中的“System”一項設置為“Locomotion System”,并取消勾選其中的Left Hand Snap Turn Action,因為我們習慣使用右手柄的搖桿實現轉向;
? 點擊下面的“AddComponent”按鈕,添加ConstrainedMoveProvider(Action-based)腳本,這個腳本控制的是持續移動;
? 選擇同樣的默認設置文件:
? 與設置轉向腳本一樣,“System”一項設置為“Locomotion System”,并且取消“Right Hand Move Action”,讓右手柄只執行旋轉的功能;
? 最后,Locomotion System中的“Locomotion System”腳本,“XR Origin”一項設置為6.(2)中建立的這個“XR Origin (XR Rig)”,也就是第一人稱控制器本身;
7. 運行測試場景
? 保持3.中的“企業串流”和“SteamVR”的連接,并且將平臺切換至Android,連接上設備。
? 這樣基本就可以了,不需要使用這里的Build或者Build And Run ,直接在Unity編輯器中運行Unity場景,就能從頭盔中看見場景,并且可以使用手柄搖桿控制視角旋轉和平移;如果在“SteamVR”的菜單中選擇“顯示VR視圖”,就能實時在電腦端看到VR頭盔中的畫面。
? 以上基本完成了有線串流調試Pico4E的方法,但有時運行過程還會產生一些問題。
8. 其他問題
? 雖然之前測試成功了,但是有時不經意改變環境后,會有連接不上、運行錯誤、手柄失去作用等等問題,以下有幾個我自己遇到的常見問題:
? (1)一些基本錯誤,可以自動修復:在Project Settings->XR Plug-in Management->Project Vlidation中,可以看到系統的一些報錯,直接點擊“Fix All”按鈕。有些問題可以自動修復,有些問題會有修復的提示;
? (2)密碼問題:在Project Settings->Player->安卓平臺->Publishing Settings中,需要設置發布的密碼,這個我也不太清楚,跟著官方文檔設置即可:簽名關聯的 APK 數量超出限制如何處理?
? (3)Pico平臺的設置:菜單欄中的PICO菜單,這個只要是安裝了PICO Integration SDK都會出現在這里,需要設置一下設備號,這個設備號可以照抄File->Build Setting->Android->Run Device中的設備號(括號內的號碼)
??
? 以上所有的設置基本覆蓋了,我在運行過程中的問題,不過難保之后會有新的問題產生。