UE5搭建Pico开发环境
前言
UE本身不支持Pico开发, 需要手动搭建开发环境,本文简单记录
安装插件
Pico的SDK是已UE插件的形式安装的, 直接到官网下砸
文档提示有4个插件, 实际下到3个插件, 没看到PicoSpatialAudio
另外, 开发时肯定需要在编辑器预览, 这个默认也不支持, 需要下载两个东西
输入适配
Pico加入了自己的输入映射, 跟oculus几乎一致
原原本本的抄一遍就可以了
但是截止UE5.1, PicoSdk 2.3.0 , Pico的手柄坐标系并未像Oculus或者steam那样, 对OpenXR进行了适配, 如果你什么都不处理, 那么手柄朝向在Pitch角度是比较歪的, 需要程序化的判定并矫正一下,(笔者在pitch上减去了45度)
编辑器预览
编辑器预览Pico也有单独一篇文档 :实时预览应用场景
简单来讲需要以下几点
- Pico开启开发者模式并开启USB调试
- 下载了上面提到的PICO Unreal Live Preview Plugin (Experiment)插件并放到项目中
- 开启插件
- RHI设置成DX11
- 去掉InstancedStereo
每次预览都需要在眼镜里点击确认才能进入游戏场景, 比较麻烦
还有就是RHI和InstancedStereo 的要求不太适配项目本身, 因为多数项目还是会使用DX12和开启InstancedStereo来优化性能的, 意味着这两个选项只能是临时的为编辑器预览而修改一下的
手柄反馈
UE原生的PlayHapticEffect
即手柄震动对Pico无效, Pico需要使用他自己的Set Controller Vibration Event
但是这玩意儿只在安卓生效, 那么pc串流是不是就暂时放弃了?
bug
PICOLivePreview
插件是用于编辑器实时预览的, 但是如果你不做额外处理, 那么打包也会打进去, 这个会导致打包失败, 解决打包时候的代码以后也会导致运行初就crash
把插件下的所有模块都改成uncookonly或者editor即可
串流
对于打出来的包, pico并不能直接像quest一样, 开个meta link就直接跑
需要下载一个pc串流工具
然后运行这个工具以后在头显也运行串流工具, 连上pc
这里一开始找不到PC设备, 解决办法就是…..反复插拔usb
连上pc以后, 笔者又遇到了一个坑
一直显示等待steamVR启动, 手动启动steamVR以后也没用, steamVR也显示异常
包括PDC上显示也是异常, 反复尝试都无果, 最后的解决方法是
重启电脑
重启以后在steamVR上就可以正确显示设备了, 如下图
尝试启动Alyx试一下, 第一遍steamVR报错, 第2,3…N边, 最好的情况是PC有画面, 头显内有声音没画面
然后反复开关steamVR, 启动游戏, 然后………..成功了……..
然后直接启动打出来的包, 也可以了……
Pico威武!!!