获取完整课程以及答疑,工程文件下载:
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 AllApply 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 在电脑中的保存路径后,耐心等待。

在这里插入图片描述

打包完毕后,带上头显,这时候程序就是以一体机软件的形式运行了,如果运行成功,说明之前的配置没有问题~

GitHub 加速计划 / in / integration
4.97 K
1.24 K
下载
HACS gives you a powerful UI to handle downloads of all your custom needs.
最近提交(Master分支:2 个月前 )
8d999fb4 4 个月前
3cfbe3da Co-authored-by: Erik Montnemery <erik@montnemery.com> 4 个月前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐