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

这篇具有很好参考价值的文章主要介绍了Unity VR 开发教程:Meta Quest 一体机开发 (二)混合现实 MR 透视 Passthrough 环境配置。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

📕教程说明

Meta Quest 一体机具有透视(Pass through)的功能。它通过 VST(Video See Through)技术,使用户能够透过头显看到现实中的场景,并且能将虚拟的物体融入于透视场景中,与用户进行交互。利用这个功能,我们可以开发一些混合现实 MR 应用,将虚拟和现实相互融合。

前期需要的一体机开发的环境配置可以参考这篇教程: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 vr开发,# Unity Quest 一体机开发,unity,vr,mr


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

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

配置步骤很简单:

  1. Quest 的系统版本要在 v37 及以上。
  2. Oculus 电脑客户端软件的版本要在 v37 及以上,并且确保设置-> Beta 测试版中的 “开发者 Runtime 功能” 和 “通过 Oculus Link 透视” 选项是开启的。
    unity vr开发,# Unity Quest 一体机开发,unity,vr,mr

📕第一步:设置 OVRManager

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

unity vr开发,# Unity Quest 一体机开发,unity,vr,mr

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

1) 在 Quest Features 的 General 选项中,将 Passthrough Support 设为 Supported 或者 Required ,这样打包的应用就能开启透视功能。

2)勾选 Insight Passthrough 下的 Enable Passthrough。这样在应用启动时就会初始化透视的功能。如果不想在程序启动时就初始化,可以取消勾选 Enable Passthrough,然后在自己的脚本中通过代码设置 OVRManager.instance.isInsightPassthroughEnabled = true/false 来控制透视的开启和关闭,这里的作用相当于手动勾选或取消 Enable Passthrough。

unity vr开发,# Unity Quest 一体机开发,unity,vr,mr

另外,OVR Manager 中有个 Tracking Origin Type 参数需要注意一下,它相当于追踪的参考系,参数分为 Eye Level, Floor Level 和 Stage。

这三个参数的区别可以参考这篇文章:Unity VR:Oculus Integration 中 OVRManager 的 Eye Level,Floor Level,Stage 的区别

unity vr开发,# Unity Quest 一体机开发,unity,vr,mr


📕第二步:添加 OVRPassthroughLayer 脚本

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

unity vr开发,# Unity Quest 一体机开发,unity,vr,mr

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

当 Placement 设置成 Underlay 的时候,相当于透视的现实图层置于应用图层的最底端,这时候现实图层位于虚拟图层之下。可以理解为现实场景充当背景,虚拟物体叠加在现实场景上,也可以理解为虚拟物体会把现实物体遮挡住

当 Placement 设置成 Overlay 的时候,则反之。相当于现实图层置于应用最顶层,也就是现实图层位于虚拟图层之上,这个时候现实场景会把整个虚拟场景覆盖掉,我们只能看到现实场景,看不到虚拟物体。

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

而位于 Placement 参数下的 Composition Depth 表示图层的深度,数值越小,越后渲染,也就是渲染在越前面。这个参数一般是用到多个透视图层的时候使用,因为 Quest 的透视 API 不仅能把整个图层变成透视场景,也就是你看到的是完全的现实世界,除此之外还能做到局部透视,比如在一个虚拟物体的表面添加透视图层,如下图所示:

unity vr开发,# Unity Quest 一体机开发,unity,vr,mr

而 Composition Depth 一般用于多个透视图层上,比如有一个深度为 0 的物体和一个深度为 1 的物体,会先渲染深度为 1 的物体,再渲染深度为 0 的物体,当这个物体放在一起时,深度为 0 的物体会遮挡深度为 1 的物体。

不过局部透视会放到未来的教程中介绍,这篇教程就不展开讨论了。


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

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

unity vr开发,# Unity Quest 一体机开发,unity,vr,mr
但是如果这时候尝试运行程序,你会发现即使设置了 OVRPassthroughLayer 的 Placement 为 Underlay,自己还是看不到现实场景,只能看到虚拟场景。因为我们还有几个步骤要做。


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

如果渲染了天空盒,因为我们之前设置过现实图层位于虚拟图层之下,所以天空盒的场景会覆盖掉现实场景。根据需求,我们想要在完全透视场景下,所以不需要渲染天空盒。

在 Unity 菜单栏选择 Window -> Rendering -> Lighting ,点击 Environment 选项,将 Skybox Material 设为 None。

unity vr开发,# Unity Quest 一体机开发,unity,vr,mr


📕第五步:设置相机

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

unity vr开发,# Unity Quest 一体机开发,unity,vr,mr

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

unity vr开发,# Unity Quest 一体机开发,unity,vr,mr
unity vr开发,# Unity Quest 一体机开发,unity,vr,mr

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

最终效果:

unity vr开发,# Unity Quest 一体机开发,unity,vr,mr

注:
1)因为之前我们在 OVRPassthroughLayer 脚本中设置了 Underlay,所以现实图层会位于虚拟图层的下方。当我们用现实的手伸进方块时,现实的手会被虚拟的方块遮挡。
2)因为 Meta 的隐私政策,在 Unity 编辑器中无法看到透视场景,但是在头显里是能正常显示的。

同时,在 Oculus/SampleFramework/Usage/Passthrough/Scene 文件夹下有官方提供的一些透视 Demo,大家可以研究一波。

unity vr开发,# Unity Quest 一体机开发,unity,vr,mr

但是需要注意的是,OVRCameraRig 的 OVRManager 脚本中的 Passthrough Support 需要确认选择了 Supported 或者 Required,才能在打包出来的程序中看到透视场景。

unity vr开发,# Unity Quest 一体机开发,unity,vr,mr文章来源地址https://www.toymoban.com/news/detail-567847.html

到了这里,关于Unity VR 开发教程:Meta Quest 一体机开发 (二)混合现实 MR 透视 Passthrough 环境配置的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Unity Meta Quest 一体机开发(三):【手势追踪】Oculus Integration 基本原理、概念与结构+玩家角色基本配置

    此教程相关的详细教案,文档,思维导图和工程文件会放入 Spatial XR 社区 。这是一个高质量知识星球 XR 社区,博主目前在内担任 XR 开发的讲师。此外,该社区提供教程答疑、及时交流、进阶教程、外包、行业动态等服务。 社区链接: Spatial XR 高级社区(知识星球) Spatial

    2024年02月04日
    浏览(46)
  • Unity Meta Quest 一体机开发(十二):【手势追踪】Poke 交互 - 用手指点击由 3D 物体制作的 UI 按钮

    此教程相关的详细教案,文档,思维导图和工程文件会放入 Spatial XR 社区 。这是一个高质量 XR 社区,博主目前在内担任 XR 开发的讲师。此外,该社区提供教程答疑、及时交流、进阶教程、外包、行业动态等服务。 社区链接: Spatial XR 高级社区(知识星球) Spatial XR 高级社区

    2024年02月04日
    浏览(58)
  • Unity Meta Quest 一体机开发(三):【手势追踪】Oculus Integration/Meta XR SDK 基本原理、概念与结构+玩家角色基本配置

    此教程相关的详细教案,文档,思维导图和工程文件会放入 Spatial XR 社区 。这是一个高质量知识星球 XR 社区,博主目前在内担任 XR 开发的讲师。此外,该社区提供教程答疑、及时交流、进阶教程、外包、行业动态等服务。 社区链接: Spatial XR 高级社区(知识星球) Spatial

    2024年01月16日
    浏览(50)
  • Unity之OpenXR+XR Interaction Toolkit接入Pico VR一体机

    Pico VR 一体机是目前国内比较流行的VR设备之一,PICO成立于2015年3月,于2021年9月并入字节跳动。最新推出的Pico4一体机售价只有2400左右,这让很多家庭都入手了Pico设备,VR一体机的功能包括:VR全景视频,VR运动,VR游戏等等。我们今天就来通过Unity最新的OpenXR标准来接入Pico

    2024年02月04日
    浏览(37)
  • Pico neo3 pico4第三方VR游戏资源分享 Pico 4一体机安装VR游戏教程

    。 当我们入手VR眼镜的初心都是想用来体验身临其境的3D虚拟视觉,无论是玩游戏,还是看电影都是为了体验VR设备给我们带来的顶级感官感受,享受科技带来的视觉体验。 我们的VR设备到手的第一步肯定是要先串流到电脑,然后和steam连接,并下载好steamVR,这样我们的基础设

    2024年02月09日
    浏览(36)
  • Pico 4一体机游戏下载教程(附游戏资源包)Pico4串流第三方VR游戏教程讲解

    我们看一下pico4的配置参数。他采用雪镜造型,pancake方案的加持,使他的前端头显和后端固垫都更加的轻薄。其单眼分辨率达到2160×2160,PP1提升到1200,视场角为105度。pro版本还纳人面部识别和眼动追踪功能。采用无极调节的瞳距调节方案,并且支持彩色透视等等功能。 好了

    2024年01月25日
    浏览(139)
  • Pico 一体机开发记录

    大概2020-2021年间的工作实况,可能有些问题已解决,某些API已改动,权且当做参考吧 1.软件发布后在设备运行时,场景颠倒? (Pico G2老版本开发问题) 在Unity找到AndroidManifest文件; 把这行代码注释掉即可。 2.视频播放时卡顿很严重? (4K版项目开发问题) 设备是Pico neo2,通

    2024年02月05日
    浏览(46)
  • 海兰一体机电脑U盘重装Win10系统教程图解

    海兰一体机电脑是全家人都适用的电脑,使用海兰一体机电脑的用户要怎么用U盘来重装Win10系统,首先用户需要确保电脑能够正常联网,然后再准备一个8G以上的U盘,最后根据小编分享的海兰一体机电脑U盘重装Win10系统教程图解操作即可。 准备工作: 1、U盘一个(尽量使用

    2024年02月15日
    浏览(85)
  • 机器视觉运动控制一体机结构体功能上线,助力客户高效开发

    运动控制器正朝着高速度、高精度、开放式的方向发展,不仅对运动控制功能精益求精,还增加了视觉相关的定位、测量、检测和识别等,多种功能的穿插使用进一步增加了在编程设计代码时的复杂程度。 为了给客户提供更好地软件框架,简化程序结构、节省内存空间、提高

    2024年02月11日
    浏览(45)
  • 鲲鹏昇腾开发者峰会开幕 星辰天合发布新一代天合翔宇一体机

    近日,主题为“创未来 享非凡”的 鲲鹏昇腾开发者峰会 2023 在东莞松山湖开幕,此次大会旨在帮助开发者深入了解鲲鹏、昇腾全栈技术,加速行业数智化的技术、产品和解决方案创新。 作为鲲鹏生态重要合作伙伴,XSKY星辰天合获邀参加此次会议,展示星辰天合与鲲鹏生态长

    2024年02月08日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包