Unity VR 开发教程: Meta Quest 一体机开发 (一) 环境配置(基于 Oculus Integration v46)
用 Unity 开发 Meta Quest 一体机应用的基础环境配置教程
文章目录
获取完整课程以及答疑,工程文件下载:
https://www.spatialxr.tech/
📕教程说明
注:最新版的教程可以看这一篇:Unity Meta Quest 一体机开发:前期准备和环境配置
前期准备:开启 Quest 的开发者模式,允许 USB 连接,电脑安装 Oculus ADB Drivers (链接:https://developer.oculus.com/downloads/package/oculus-adb-drivers/
这些基本是 Quest 买到手后会进行的操作,网上也有许多 Quest 新手使用教程,因此本教程就不对这些东西进行详细说明啦。
电脑操作系统:Windows
使用的 VR 设备:Meta Quest 2
使用的 Unity 版本:2021.3.5 LTS (这里推荐使用 2021 及以上的 LTS 版本)
Oculus Integration 版本:v46
官方文档:https://developer.oculus.com/documentation/unity/
注:本篇教程可能具有时效性,因为 Oculus 的 SDK 更新迭代得比较快,如果大家使用的 SDK 版本比我的新,在不方便查看官方文档的情况下也可以先试试本篇教程的配置步骤,如果发现教程过时,欢迎大家进行反馈,我也会及时进行更改说明,一切以官方文档为主。
📕安装 Unity 时需要添加的模块
第一次安装 Unity 编辑器时会有添加模块的过程。如果你已经安装了 Unity 编辑器,可以到 Unity Hub 的安装里找到对应版本的编辑器,然后添加模块,如下图所示:
安装安卓相关的模块,因为 Quest 一体机的系统是安卓,相当于我们要开发安卓应用。
📕设置 Unity 的 Build Settings
进入 Unity 编辑器后,点击菜单栏的 File -> Build Settings
将 Platform 切换到 Android(点 Android 的 Switch Platform),然后进行如下操作:
- 将 Texture Compression 设为 ASTC
- Run Device 切换成 Quest 设备(要先保证头显和电脑进行了连接)。
📕XR Plug-in Management 设置
找到 Project Settings 中的 XR Plug-in Management,先点 Install
然后在安卓图标的界面下勾选 Oculus,导入 Oculus XR Plugin
然后在电脑图标的界面下也勾选 Oculus,这样我们能通过头显和电脑串流的方式,在 Unity 的 Play Mode 下进行调试,这是为了在开发程序的时候能直接点击 Unity 的运行按钮来查看游戏场景,省去将程序打包成安卓 APK 再导入一体机运行的时间。
这里需要注意一下,XR Plug-in Management 的 Open XR 是 Unity 自己的 Open XR Plugin,之后导入 Oculus Integration 时选择的 Open XR 是 Oculus 的 OpenXR Backend,二者不是同一个东西。
下图是 Oculus XR Plugin 的运行原理:
(后来经测试,电脑端选用 Unity OpenXR 插件而不选用 Oculus 也是能够正常运行的,暂时还没遇到什么问题)
接下来,我们点击 XR Plug-in Management 下的 Oculus,这里的设置可以根据需求改,我一般习惯把 Render Mode 改为 Multi Pass。Multi Pass 会将场景渲染两次,分别显示在两只眼睛中,这种渲染方式虽然性能会差一点,但是具有高兼容性。
电脑端:
📕导入 Oculus Integration
打开 Unity Asset Store 的网址(搜索引擎可以搜到),搜索 Oculus Integration (我写这篇文章的时候 Integration 的版本为 46.0),然后添加这个资源
接下来打开 Unity 菜单栏的 Window -> Package Manager,在 My Assets 中找到 Oculus Integration,然后将它导入:
注:如果导入后 Console 出现了这个报错 (我使用 Oculus Integration v49 时遇到的问题)
我们直接点击第二行的报错,这时候会自动跳转到出错的脚本。然后我们如下图所示在脚本里引入 UnityEngine 命名空间,这样会不会报错了。
接下来会跳出几个界面:
选择 Yes
选择 Use OpenXR
选择 Restart
选择 Show Assets
选择 Clean Up Package:
选择 Upgrade
选择 Restart
这时候,就成功导入了 Oculus Integration
官方文档中的步骤总结:
📕手动设置
🔥设置 Project Settings
官方文档部分:
https://developer.oculus.com/documentation/unity/unity-conf-settings/
打开编辑器菜单栏的 Edit -> Project Settings -> Player
⭐通用设置
根据自己的需求设置公司名,项目名,版本号:
然后打开 Player -> Other Settings
⭐Rendering 设置
找到 Rendering,进行如下操作:
- 将 Color Space 设为 Linear
- 取消勾选 Auto Graphics API,用拖动的方式将 OpenGLES3 置顶
- 勾选 Multithreaded Rendering
⭐Identification 设置
找到 Identification,设置 Minimum API Level 为 29
⭐Configuration 设置
如图进行设置:
⭐Quality 设置
找到 Quality,先 Add Quality Level,将 Name 改成 Quest(名字可以随便取)
然后确保选中的是新添加的 Quality Level,按照如图所示进行设置:
到这里,Oculus 开发的基础环境配置就结束了。
📕一键快速设置
新版本的 Ouclus Integration 已经支持一键快速配置环境了。打开 Unity 编辑器菜单栏的 Edit -> Project Settings -> Oculus,如下图所示:
可以看到有一堆红色和橙色的感叹号,我们点击页面上的 Fix All 和 Apply All,Unity 就会自动帮我们修改环境的配置。最后,我们需要确认修改之后安卓端和 PC 端页面上全是绿色的符号就可以了:
值得一提的是,一键快速设置后有些地方会和之前的手动设置不大一样,但是经过测试,还是能正常运行的。“手动设置”的部分是参考 Meta 官方文档的要求一步步设置的,后续大家可以根据自己的需求进行微调,不过这里建议把 Quality 设置的部分改成和手动设置一样的情况
📕开启手势追踪
找到 Oculus 文件夹的 Oculus Project Config 文件。
然后打开 Inspector 面板,将 Hand Tracking Support 设为 Controllers And Hands:
Hand Tracking Version 建议设为 V2,因为 Meta 的手势追踪 2.0 版本拥有更好的效果。
📕测试打包
现在我们可以随便打开一个 Oculus 的样例场景,我选择了这个:
这时候我们可以先在头显和电脑串流的情况下运行这个场景,如果能成功运行,就说明之前的配置是没问题的。
接下来我们测试打包到一体机运行,我们打开编辑器菜单栏的 File -> Build Settings
先 Add Open Scenes,再点击 Build And Run,设置好 APK 在电脑中的保存路径后,耐心等待。
打包完毕后,带上头显,这时候程序就是以一体机软件的形式运行了,如果运行成功,说明之前的配置没有问题~
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)