開發(fā)混合現(xiàn)實(shí)應(yīng)用,選Quest和Pico哪個(gè)更容易?實(shí)踐得出真答案
? ? ?蘋果的MR基于彩色透視技術(shù),可惜目前大家都拿不到真機(jī)體驗(yàn)。如果當(dāng)下想要體驗(yàn)類似的效果,并嘗試開發(fā)混合現(xiàn)實(shí)應(yīng)用,可以選擇Quest Pro和Pico 4,他們都是安卓一體機(jī),開發(fā)的流程也相似。本文不展開兩個(gè)設(shè)備的參數(shù)對(duì)比,只討論開發(fā)的體驗(yàn)。這兩個(gè)月通讀了Quest和PICO的開發(fā)文檔,也初步完成了一些項(xiàng)目,想把其中的心得分享出來,供您參考。

??彩色透視功能簡單地說就是把攝像頭拍到的畫面與虛擬對(duì)象疊加在一起,實(shí)現(xiàn)混合現(xiàn)實(shí)效果。之前我用Quest PRO測試過,戴上頭盔實(shí)際體驗(yàn)感覺要更好。
????? ?先說開發(fā)體驗(yàn):兩者的開發(fā)環(huán)境、SDK的結(jié)構(gòu)類似,Quest提供了很多示例場景、官方演示工具包,方便開發(fā)者直接抄作業(yè),開發(fā)者工具也相對(duì)成熟好用;Pico看似對(duì)應(yīng)的功能都支持,但基本都只給了示例代碼,演示場景很少,一些功能文檔只有寥寥幾句,Unity文檔半天就能看完,有一種先模仿大廠搭好骨架,日后慢慢更新的感覺。
????? ?再說挑戰(zhàn):國內(nèi)開發(fā)Quest的主要挑戰(zhàn)是網(wǎng)絡(luò),Meta的服務(wù)器在海外。比如支持通過串流在Unity里實(shí)時(shí)預(yù)覽場景,但串流要先啟動(dòng)Oculus客戶端登錄,有時(shí)候這個(gè)過程會(huì)失敗。還有一些奇怪的問題也是因?yàn)榫W(wǎng)絡(luò),比如啟用空間錨點(diǎn)功能的應(yīng)用,在頭盔初次啟動(dòng)應(yīng)用時(shí)候需要聯(lián)網(wǎng),否則錨點(diǎn)加載失?。ú粫?huì)報(bào)錯(cuò))。Pico的挑戰(zhàn)是資源和教程較少,而且混合現(xiàn)實(shí)的進(jìn)階功能得有內(nèi)測渠道才能體驗(yàn),預(yù)計(jì)新功能用起來坑會(huì)更多。
? ? ? ?小結(jié):MR混合現(xiàn)實(shí)是新功能,現(xiàn)階段不論使用Quest還是PICO都要做好踩坑的準(zhǔn)備,正式項(xiàng)目實(shí)在需要彩色透視的話,建議先做好充分的技術(shù)驗(yàn)證,把系統(tǒng)版本、Unity版本、SDK版本全部定下來,確定功能沒問題再繼續(xù)開發(fā)。而如果您的需求是開發(fā)VR游戲、或者想初步學(xué)習(xí)VR開發(fā)、體驗(yàn)最基礎(chǔ)的MR功能,兩者在VR方面都比較成熟,純新手選PICO4會(huì)少一些折騰。如果是進(jìn)階開發(fā)者,能搭建穩(wěn)定的網(wǎng)絡(luò)環(huán)境、需要立體的彩色透視、項(xiàng)目依賴手勢追蹤、房間錨定、體態(tài)估算這些新功能的話,選Quest PRO。但再次申明,MR相關(guān)的新功能會(huì)帶來很多麻煩的調(diào)試工作,請(qǐng)做好50%以上的時(shí)間用于調(diào)試、排坑的心理準(zhǔn)備。文末記錄了我近期開發(fā)遇到的一些坑,希望對(duì)您有幫助。
Q1:Quest 搭建開發(fā)環(huán)境時(shí)候,Oculus XR Plugin版本不能更新到最新。
答:應(yīng)該是Unity的坑,需在package Manager里面手動(dòng)輸入com.unity.xr.oculus?;虿榭催@個(gè)視頻。

Q2:導(dǎo)出APK時(shí)候出現(xiàn)Library\Bee\artifacts\Android\ 錯(cuò)誤
答:也可能是官方Bug,在一些特定的Unity版本中會(huì)出現(xiàn),
我的做法是把Unity版本升級(jí)至2022.2.17,XR插件3.3.0,OC_SDK V53。這也是我最近使用穩(wěn)定的一套開發(fā)環(huán)境。
參考鏈接:
https://issuetracker.unity3d.com/issues/il2cpp-buildfailedexception-and-bee-errors-are-thrown-in-the-console-window-when-building-project-for-android

Q3: 彩色透視功能可以實(shí)時(shí)在電腦上預(yù)覽嗎?
答:【2023年7月】Quest pro可以,Pico不可以。SDK更新到V54以后,彩色透視就可以在電腦上實(shí)時(shí)預(yù)覽了,幀率目測?有20幀。(有線Link)
補(bǔ)充:Ques在SDK 53版本以前通過Link預(yù)覽彩色透視畫面十分卡頓,有線無線都是不可用的狀態(tài);那時(shí)候使用Quest 2,預(yù)覽黑白色的透視畫面,倒是可以流暢預(yù)覽。?
Q4:提示安卓ADB版本41 ,40錯(cuò)誤,導(dǎo)致打包失敗。
答:新安裝的UNIT內(nèi)置的ADB版本沖突。比如你在用Unity2022.3打包出現(xiàn)這個(gè)問題,我的做法是,把Unity2021安裝路徑里面對(duì)應(yīng)的ADB拷貝到當(dāng)前Unity2022.3文件夾中覆蓋。大致的路徑是sdk--platform。
Q5:應(yīng)用莫名閃退,尤其或升級(jí)了SDK、關(guān)閉了防護(hù)邊界等操作后應(yīng)用不穩(wěn)定。
答:真干活兒還是需要穩(wěn)定的版本,例如我驗(yàn)證過:Unity版本2022.2.17,XR插件3.3.0,OC_SDK V53。這套組合可以彩色透視+手勢追蹤+房間錨點(diǎn),缺點(diǎn)是在編輯器里面預(yù)覽彩透會(huì)很卡。
各種其他新功能引發(fā)的奇怪問題,大概率是網(wǎng)絡(luò)不穩(wěn)定或者是硬件層面的BUG;比如開發(fā)者選項(xiàng)里面關(guān)閉防護(hù)邊界后,彩色透視的應(yīng)用就會(huì)不穩(wěn)定、屏幕錄制會(huì)看不到透視畫面等等……這些在未來數(shù)月也未必能穩(wěn)定,因此在商業(yè)項(xiàng)目中要謹(jǐn)慎使用新功能。