PicoVR 一體機開發環境搭建

學習筆記,僅供參考交流


一、PicoVR 官網 http://dev.picovr.com/sdk 下載適用Unity的PicoMobileSDK,配套的有中英文的開發文檔,感覺比較貼心了
二、sdk包括PicoMobileSDK 和Plugins兩部分,Plugins/Android 下的Manifest文件具體配置在官方文檔中詳細說明,默認已經配置好了;PicoMobileSDK文件夾包括四個部分:手柄控制、支付功能、核心SDK和音量電量等功能 ,基本的環境搭建Controller和UnitySDK兩個部分足夠,不過實際開發中可能需要對sdk進行部分自定義
在這裏插入圖片描述
* 自定義sdk包(僅供參考,有問題請賜教):
鏈接:https://pan.baidu.com/s/1_ks4bXQ04_f7ETjrfwZC_g
提取碼:4kjv

Pico的sdk更新比較快,我發現官網只能下載最新版,所以本文僅作參考
注:新版的sdk手柄都是兩個而且是Neo的手柄,如果是G2設備或其他,找到 PvrController0/controller 上掛載的腳本Pvr_Controller Init 打開,修改編輯器模式下顯示你想要的手柄的名字即可
在這裏插入圖片描述

三、環境搭建步驟(以Pico G2 3Dof但手柄爲例)
1、必備Prefabs:
Pvr_UnitySDK(拖入Hierarchy,刪掉默認相機)
ControllerMnager(拖入Hierarchy)
PvrController0(放到Pvr_UnitySDK下作子物體,單手柄默認Controller0)
PvrController1(同Controller0,雙手柄的自行添加)

HeadControl( 拖入Pvr_UnitySDK作爲子物體)
注:新版本的sdk中,直接將ControllerManager拖入Pvr_UnitySDK預製體下做子物體即可
注:SDK中沒有HeadControl預製體,在sdk的Demo示例中可以找到

**2、腳本配置**
  • ControllerManager腳本參數配置:指定手柄(雙手柄的指定兩個)在這裏插入圖片描述
  • Event參數配置:指定UI交互時頭顯凝視點和射線交互點
  • 新版本sdk省去此過程在這裏插入圖片描述
    3、Canvas畫布配置
    第一、Canvas畫布設置成世界座標下,渲染相機指定爲Head,即設備對應的相機
    第二、添加Pvr_UICanvas
    在這裏插入圖片描述
    4、UI交互核心
  • ControllerManager添加腳本:Pvr_Controller Demo官方給出的示例腳本 ,該腳本主要實現交互功能,算是核心腳本了,需用戶開發時進行自定義,省略不必要的參數和功能;
    * 另外需要注意的時HeadControl參數不可缺,否則打包運行會出現莫名的錯誤不執行,HeadControl主要用於Unity Editor中測試,省去打包的繁瑣過程;
    新版sdk可以自定義切換HeadMode
  • Unity編輯器中測試快捷鍵:
    點擊鼠標左鍵——等同按下手柄確認鍵
    Alt+鼠標滑動 —— 調整視角
    Alt+鼠標左鍵點擊 —— 切換VR視角和全屏視角
    Shift+鼠標左鍵按住拖動——調整手柄射線方向

在這裏插入圖片描述
四、總結
至此,Pico VR開發環境搭建就完成了
實際開發中,對Pvr_UnitySDK對象de位置進行適當調整就OK 了
emm……最後就是打包了

  • 1、Pico 一體機設備相當於手機,Android打包 ,so,AndroidSdk和Jdk要配置好 (高版本Unity省略該步驟)
  • 2、PlayerSettings:除了Unity打包必須配置外,Auto Graphics API取消勾選,PicoVR目前不支持Vulkan,一般OpenGLES2即可;Multithreaded Rendering 多線程渲染最好取消勾選;Android 版本支持6.0以上
    在這裏插入圖片描述
  • 3、BuildSystem選擇 Internal
    新版本sdk中,非硬性要求,Gradle 和Internal都可,只不過Gradle打包出來的能導出工程,Internal不行,具體自行百度
    在這裏插入圖片描述

補充1:瞬移功能
原理:通過發射物理射線Ray來檢測手柄射線的方向和目標點,繪製貝塞爾曲線或者直射線,射線dot即瞬移目標點,僅供參考交流
注:Pico官網提供了瞬移等其他的教程demo,可自行到官網github鏈接下載

補充2:Shader問題
問題:有時我們爲實現某種效果需要指定某種Shader,在Unity編輯器中效果正常,但是打包到PicoVR 設備上或者其他Android設備上時效果失效,材質丟失,顯示玫紅色
對策:Edit / ProjectSettings / Built-in Shader Settings / Always Included Shaders 中添加上要用到的Shader

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