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
- 在Pico中看到的Android APP打开的场景是非VR的
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
- 在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
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 * 选择 LinearEdit | 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
- 转化Camera为
XR Camera:- 删除Hierarchy 场景中原来的
Camera Hierarchy | 右键 | XR |Room Scale XR Rig, 用这个对象替代Camera- 修改
XR Rig GameObject的XR Rig脚本的Tracking Origin Mode为Floor - 修改
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控制运动!!!
- 删除Hierarchy 场景中原来的
经过以上配置, 整个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 Controller的Model Prefab模型: 选择Hierachy中的XR Rig | Camera Offset | LeftHand Controller | Inspector -> XR Controller -> Model -> Model Prefab配置项拖入Project | Packages | PicoXR Plugin | Assets | Resources | Prefabs | LeftControllerModel!!! - 设置
RightHand Controller的Model Prefab模型: 选择Hierachy中的XR Rig | Camera Offset | RIghtHand Controller | Inspector -> XR Controller -> Model -> Model Prefab配置项拖入Project | Packages | PicoXR Plugin | Assets | Resources | Prefabs | RightControllerModel!!!
- 此时
Build And Run就能在Pico设备中看到手柄射线, 并且Camera可以被HMD控制运动, 并且手柄按键反馈也能在VR设备中展示:
参考项目
BeginPico01.7z 中是以上实践项目, 其中缺少 UnityXR_v2.0.3_B51插件, 需要根据以上文档, 自己导入该插件!!!
掘金上不能上传资源, 就这样了.