Unity VR 开发教程:Meta Quest 一体机开发 (二)混合现实 MR 透视 Passthrough 环境配置

news/2024/10/21 15:31:03/

文章目录

  • 📕教程说明
  • 📕配置透视的串流调试功能
  • 📕第一步:设置 OVRManager
  • 📕第二步:添加 OVRPassthroughLayer 脚本
  • 📕第三步:在场景中添加虚拟物体
  • 📕第四步:删除场景中的天空盒
  • 📕第五步:设置相机

📕教程说明

前期需要的一体机开发的环境配置可以参考这篇教程:Unity VR 开发教程: Meta Quest 一体机开发 (一) 环境配置

电脑操作系统:Windows

使用的 VR 设备:Meta Quest 2

使用的 Unity 版本:2021.3.5 LTS (这里推荐使用 2021 及以上的 LTS 版本)

Oculus Integration 版本:v54 (目前 v54 以上也适用)

官方文档:https://developer.oculus.com/documentation/unity/unity-passthrough/

注:本篇教程可能具有时效性,因为 Oculus 的 SDK 更新迭代得比较快,如果大家使用的 SDK 版本比我的新,在不方便查看官方文档的情况下也可以先试试本篇教程的配置步骤,如果发现教程过时,欢迎大家进行反馈,我也会及时进行更改说明,一切以官方文档为主。

最终实现效果:在透视下的现实场景中看到虚拟物体。

在这里插入图片描述


📕配置透视的串流调试功能

开启了这个功能后,就可以在设备与电脑串流的条件下运行支持透视的软件。这时候可以直接通过点击 Unity 编辑器中的运行按钮,在头显中看到透视的场景。这样就更加方便调试,不用每次打包到头显中运行。

配置步骤很简单:

  1. Quest 的系统版本要在 v37 及以上。
  2. Oculus 电脑客户端软件的版本要在 v37 及以上,并且确保设置-> Beta 测试版中的 “开发者 Runtime 功能” 和 “通过 Oculus Link 透视” 选项是开启的。
    在这里插入图片描述

📕第一步:设置 OVRManager

首先我们新建一个场景,删除场景中的 Main Camera。然后搜索 OVRCameraRig 这个 Prefab,将它拖到场景中。这个物体就相当于 XR 中的相机。

在这里插入图片描述

找到 OVRCameraRig 中的 OVR Manager 脚本,接下来需要做的步骤是:

  1. 在 Quest Features 的 General 选项中,将 Passthrough Support 设为 Supported 或者 Required ,这样打包的应用就能开启透视功能。
  2. 勾选 Insight Passthrough 下的 Enable Passthrough。这样在应用启动时就会初始化透视的功能。如果不想在程序启动时就初始化,可以取消勾选 Enable Passthrough,然后在自己的脚本中通过代码设置 OVRManager.instance.isInsightPassthroughEnabled = true/false 来控制透视的开启和关闭。在这里插入图片描述
  3. OVR Manager 中有个 Tracking Origin Type 需要注意一下,它相当于头部高度相对的参考系。如果选择 Floor Level,头部高度以地面作为参考点,这个时候眼部相机的高度会加上现实中玩家头显到安全区地面的距离;如果选择 Eye Level,眼部相机的初始高度和摆放在场景中的相机的高度是一样的,不会额外加上现实中头显到地面的距离;最后一个 Stage 目测效果和 Floor Level 差不多,具体区别还在研究,大家可以切换这三种类型进行调试,感受它们的不同,我会在下面展示它们的区别。
    在这里插入图片描述
    Eye Level:
    在这里插入图片描述
    Floor Level / Stage:
    在这里插入图片描述

📕第二步:添加 OVRPassthroughLayer 脚本

接下来,我们在 OVRCameraRig 物体上添加 OVRPassthroughLayer 脚本,然后把 Placement 设为 Underlay:

在这里插入图片描述

Quest 中透视的现实场景相当于单独的一个图层,而我们的虚拟场景和虚拟物品相当于另外的图层。

当 Placement 设置成 Underlay 的时候,相当于透视的现实图层置于虚拟图层之下,也就是现实场景充当背景,然后虚拟的物体叠加在现实背景之上,这样我们就能在透视的现实世界中看到虚拟物体。

当 Placement 设置成 Overlay 的时候,则反之。相当于现实图层置于虚拟图层之上,这个时候现实场景会把虚拟场景覆盖掉。

因为我们想要在透视下的现实场景中看到虚拟物体,所以我们要选择 Underlay。


📕第三步:在场景中添加虚拟物体

我这里在 OVRCameraRig 物体前面添加了一个 Cube 方块:

在这里插入图片描述


📕第四步:删除场景中的天空盒

在 Unity 菜单栏选择 Window -> Rendering -> Lighting ,点击 Environment 选项,将 Skybox Material 设为 None。因为我们是在透视场景下,所以不需要渲染天空盒。

在这里插入图片描述


📕第五步:设置相机

在 Hierarchy 面板中找到 OVRCameraRig/TrackingSpace/CenterEyeAnchor 这个子物体,它相当于我们的相机。

在这里插入图片描述

然后在 Inspector 面板中,将 Camera 组件的 Clear Flags 设为 Solid Color,然后将 Background 的 alpha 值设为 0,也就是将背景的透明度设为0。Background 的颜色决定了透视场景的颜色,如果设为黑色,则看到的是默认的透视颜色。因为我使用的是 Quest 2,所以如果我将 Background 设为黑色,我看到的就是 Quest 2 默认的黑白透视,如果是 Quest pro 或者之后拥有彩色透视的 Quest 设备,那么看到的应该就是彩色透视的场景。

在这里插入图片描述

现在,透视的环境配置已经完成了。

最终效果:

在这里插入图片描述

注:因为 Meta 的隐私政策,在 Unity 编辑器中无法看到透视场景,但是在头显里是能正常显示的。


http://www.ppmy.cn/news/663958.html

相关文章

2015新款 MacBook 用心的测评与试用. 最轻薄的Mac上市

2015新款 MacBook 不一样的测评与试用. 最轻薄的Mac上市了. 直击现场 《HTML开发MacOSApp教程》 http://pan.baidu.com/s/1jG1Q58M 2015年的春季的苹果特别媒体发布会上, 苹果发布了超轻薄的 MacBook 产品. 或许当你阅读本文的时候已经看过不少跑分, 性能测试文章, 为了不让…

系统升级是为了修BUG、补漏洞?但也可能跟你想得完全不一样

2003年的时候,家里组装一台电脑,用着当时Intel最新的奔腾4处理器,系统是经典的win XP,空当接龙、扫雷单机游戏想玩就玩,Word、WPS、金山词霸办公学习够用了,插上家里的电话线上网,网易新浪搜狐想…

ChatGPT实战:生成演讲稿

当众发言(演讲)是一种传达信息、观点和情感的重要方式。通过演讲,人们可以在公共场合表达自己的观点,向观众传递自己的知识和经验,激发听众的思考和行动。无论是商务演讲、学术讲座还是政治演说,演讲稿的写…

注册登录账号系统

目录 前言 一、项目介绍 二、项目分析 1.框架介绍 框架流程图:​ 板块分析: 前提: (1)注册板块 (2)登录板块 (3)main方法主板块 2.实操展示 (1&#x…

柏楚系统和倍福系统哪个好_西门子和倍福系统优劣对比-专业自动化论坛-中国工控网论坛...

本人熟悉西门子,倍福有一部分了解,大致说一下: 1,品牌 西门子的市场占有率要高一些,但在一些特殊行业应用,倍福也非常好,比如在风电控制。懂西门子的人要多于懂倍福的,支持更容易找到…

西门子g120变频器接线图_西门子G120变频器使用小的注意事项!!!

1,DP插头还是使用拧螺丝的把, 6ES7972-0BA12-0XA0 DP 接头, 90 度出线, 不带 PG 接口 6ES7972-0BB12-0XA0 DP 接头, 90 度出线, 带有 PG 接口 直接穿刺压紧的出过问题,后来换掉了。 2,变频器的报文如果不是2/2的,需要在Starter里面设置一下,否则PLC只能读上来2/2的基本…

达索系统、西门子、PTC、欧特克、SAP的PLM系统优缺点比较?

作者:张小川 链接:https://www.zhihu.com/question/59120862/answer/757931662 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 世界上只有三个PLM巨头,欧特克,SAP就不…

案例分享:Qt激光加工焊接设备信息化软件研发(西门子PLC,mysql数据库,用户权限控制,界面设计,参数定制,播放器,二维图,期限控制,参数调试等)

若该文为原创文章,转载请注明原文出处 本文章博客地址:https://hpzwl.blog.csdn.net/article/details/127669684 长期持续项目技术分享,有专业Qt需求请回博客首页查看右侧公司官网联系,也可底部查看公司官网联系 红胖子(红模仿)的…