PicoVR 开发入门教程系列 -- 环境搭建(1)

1,938 阅读3分钟

PicoVR 开发入门教程系列 -- 环境搭建(1)

0. 软硬件环境与背景

硬件设备: Pico Neo3 VR设备 + 打开开发者模式

开发环境: Window10

开发软件: Unity 2020/2019 LTS 版本 + VS2019 + Android环境(ADB, Android SDK等等)

1. Android APP创建并在Pico设备上运行(非VR APP)

  • 创建Unity 3D 工程, 添加一些常见的对象
  • 切换APP的Platform成Android: File | Build Settings | Android | Switch Platform
  • 直接运行到Pico设备: File | Build Settings | Android | Run Device, choose the connected Pico Neo3 | Build and Run

1.png

  • 在Pico中看到的Android APP打开的场景是非VR的

2.jpeg

2. Android APP 在Pico上 VR 化

  • 进入Pico的开发者社区(developer.pico-interactive.com/sdk) 下载Pico SDK的定制版 UnityXR SDK -- UnityXR_v2.0.3_B51

  • 在Project中导入Pico XRUnity SDK : Window | Package Manager | In Project | Add package from disk | 选择 UnityXR_v2.0.3_B51/package.json , 然后会弹出PXR_SDK_Setting, 简单配置, 在插件位置出现相应的插件包: Project | Packages | PicoXR Plugin

3.png

  • 在Project中导入XR Plugin Management : Window | Package Manager | Unity Registry | XR Plugin Management | Install XR Plugin Management
  • Edit | Project Settings | XR Plug-in Management | Android Tab | 选择PicoXR, 并勾选initialize XR on Startup

4.png

  • Build And Run此时直接编译会报错, 针对PicoXR还需要对项目进行额外的设置, App才能Run起来, 具体参考: https://sdk.picovr.com/docs/UnityXRSDK/cn/chapter_three.html ,配置完成以后, 整个项目就是一个 VR APP了!!!
    • Edit | Project Settings | Player | Android Tab | Other Settings | Rendering | Color Space * 选择 Linear
    • Edit | Project Settings | Player | Android Tab | Other Settings | Rendering |Graphics APIs, 删掉 Vulkan, 留下OpenGLES3 !!!!
    • Edit | Project Settings | Player | Android Tab | Other Settings | Minimum API Level | API Level 29及以上
    • 其他配置, 例如Quality 参考官方文档, 设置成Don't Sync

5.png

  • 转化Camera为XR Camera:
    • 删除Hierarchy 场景中原来的Camera
    • Hierarchy | 右键 | XR |Room Scale XR Rig, 用这个对象替代Camera
    • 修改XR Rig GameObjectXR Rig脚本的Tracking Origin ModeFloor
    • 修改XR Rig | Camera Offset | Main Camera | FPS中的Inspector | Canvas | Render Mode | Event Camera拖入XR Rig | Camera Offset | Main Camera
    • 此时 Build And Run 就能在Pico设备中看到手柄射线, 并且Camera可以被HMD控制运动!!!

6.jpeg 经过以上配置, 整个APP 已经是 VR APP了!!!

3. Pico上 VR App 针对 Pico手柄的定制化

  • 选择Hierachy中的XR Rig | Camera Offset | Main Camera | FPS, 删除这个FPS. 从Project | Packages | PicoXR Plugin | Assets | Resources | Prefabs | FPS 拖到Camera Offset中作为子游戏对象.
  • 修改XR Rig | Camera Offset | Main Camera | FPS Prefab中的Inspector | Canvas | Render Mode | Event Camera拖入XR Rig | Camera Offset | Main Camera, 这样HMD头部显示就OK了!!!
  • 设置LeftHand ControllerModel Prefab模型: 选择Hierachy中的XR Rig | Camera Offset | LeftHand Controller | Inspector -> XR Controller -> Model -> Model Prefab 配置项拖入Project | Packages | PicoXR Plugin | Assets | Resources | Prefabs | LeftControllerModel !!!
  • 设置RightHand ControllerModel Prefab模型: 选择Hierachy中的XR Rig | Camera Offset | RIghtHand Controller | Inspector -> XR Controller -> Model -> Model Prefab 配置项拖入Project | Packages | PicoXR Plugin | Assets | Resources | Prefabs | RightControllerModel !!!

7.png

8.png

  • 此时 Build And Run 就能在Pico设备中看到手柄射线, 并且Camera可以被HMD控制运动, 并且手柄按键反馈也能在VR设备中展示:

9.jpeg

参考项目

BeginPico01.7z 中是以上实践项目, 其中缺少 UnityXR_v2.0.3_B51插件, 需要根据以上文档, 自己导入该插件!!!

掘金上不能上传资源, 就这样了.