【Oculus Interaction SDK】(十二)Meta Quest 如何开启透视(Passthrough)
前言
前段时间 Oculus 的 SDK 频繁更新,很多已有的教程都不再适用于现在的版本了。本系列文章的主要目的是记录现版本常见功能的实现方法,便于自己后续开发。当然,不排除我文章刚写完 SDK 又变了的可能性,所以如果有人发现文章的内容已经不适用于新版本了,也可以留评论或者私信我,我会持续更新文章内容。
当前适用版本:
- Unity 版本:2021.3.7f1c1
- Oculus Interaction SDK 版本:47.0
文章最近更新日期:2023.02.21
项目设置
关于如何安装 SDK 并且完成相机设置的步骤在前文中已有表述,如有需求可以翻看这篇文章
【Oculus Interaction SDK】(一)设置 VR 相机与控制器 & 实现简单的抓取功能 - 千叶Christa - 博客园 (cnblogs.com)
首先,我们需要到 Project Settings 中将色彩空间 Color Space 从默认的 Gamma 改为 Linear

将脚本后端 Scripting Backend 从默认的 Mono 改为 IL2CPP
将目标体系结构 Target Architectures 更改为 ARM64

移除天空盒
在导航栏找到 Window > Rendering > Lighting > Environment,移除天空盒

修改相机
找到场景中的相机 OVRCameraRig 为其添加 OVR Passthrough Layer 组件,将 Placement 选项修改为 Underlay

在 OVRCameraRig 的 OVR Manager 组件中打开 General 选项卡,勾选 Passthrough Capability
在组件的最后找到 Enable Passthrough 选项,勾选此选项

清除一下相机底色

添加测试物体
新建一个 Cube,为其添加交互组件,同时为控制器添加交互功能

关于控制器和物体设置,详情请看之前的文章,这里就不赘述了
【Oculus Interaction SDK】(一)设置 VR 相机与控制器 & 实现简单的抓取功能 - 千叶Christa - 博客园 (cnblogs.com)
进行测试
Oculus 应用软件在 49.0 版本的公测版中提供了通过 Oculus Link 透视的功能
不需要打包安装,现在可以直接通过 Oculus Link 看到透视效果啦,nice!

虽说可以在串流的时候直接看到透视效果,但是 Unity 的 Game 窗口并不会有任何透视画面(相机背景是纯黑色)
并且 Oculus Link 的透视效果也无法通过 SideQuest 串流显示在 PC 窗口上
为了录制测试效果,还是要把项目安装到头显上才可以 QAQ
在这里我直接通过 Unity 进行安装了,你也可以 Build 之后通过 ADB 进行安装

OK,来看看效果吧!
Quest 2 的环境透视效果_千叶Christa_哔哩哔哩_bilibili
参考资料
Meta Quest Passthrough Tutorial in Unity - PART 1 : Setup - YouTube
【Oculus Interaction SDK】(十二)Meta Quest 如何开启透视(Passthrough)的更多相关文章
- 【Oculus Interaction SDK】(二)抓取释放效果的物理优化
前言 这篇文章是[Oculus Interaction SDK]系列的一部分,如果发现有对不上的对方,可以回去翻看我之前发布的文章,或在评论区留言.如果文章的内容已经不适用于新版本了,也可以直接联系我 ...
- 【Oculus Interaction SDK】(三)限制可操作物体的移动 / 旋转
前言 这篇文章是[Oculus Interaction SDK]系列的一部分,如果发现有对不上的对方,可以回去翻看我之前发布的文章,或在评论区留言.如果文章的内容已经不适用于新版本了,也可以直接联系我 ...
- 【Oculus Interaction SDK】(一)设置 VR 相机与控制器 && 实现简单的抓取功能
前言 前段时间 Oculus 的 SDK 频繁更新,很多已有的教程都不再适用于现在的版本了.本系列文章的主要目的是记录现版本常见功能的实现方法,便于自己后续开发.当然,不排除我文章刚写完 SDK 又变 ...
- 【Oculus Interaction SDK】(五)设置不同的抓握手势
前言 这篇文章是[Oculus Interaction SDK]系列的一部分,如果发现有对不上的对方,可以回去翻看我之前发布的文章,或在评论区留言.如果文章的内容已经不适用于新版本了,也可以直接联系我 ...
- 【Oculus Interaction SDK】(六)实体按钮 && 按压交互
前言 这篇文章是[Oculus Interaction SDK]系列的一部分,如果发现有对不上的对方,可以回去翻看我之前发布的文章,或在评论区留言.如果文章的内容已经不适用于新版本了,也可以直接联系我 ...
- Senparc.Weixin.MP SDK 微信公众平台开发教程(十二):OAuth2.0说明
紧接上一篇<Senparc.Weixin.MP SDK 微信公众平台开发教程(十一):高级接口说明>,这里专讲OAuth2.0. 理解OAuth2.0 首先我们通过一张图片来了解一下OAu ...
- 利用WPF建立自己的3d gis软件(非axhost方式)(十二)SDK中的导航系统
原文:利用WPF建立自己的3d gis软件(非axhost方式)(十二)SDK中的导航系统 先下载SDK:https://pan.baidu.com/s/1M9kBS6ouUwLfrt0zV0bPew ...
- Senparc.Weixin.MP SDK 微信公众平台开发教程(二十二):如何安装 Nuget(dll) 后使用项目源代码调试
最近碰到开发者问:我使用 nuget 安装了 Senparc.Weixin SDK,但是有一些已经封装好的过程想要调试,我又不想直接附加源代码项目,这样就没有办法同步更新了,我应该怎么办? 这其实是一 ...
- AngularJs的UI组件ui-Bootstrap分享(十二)——Rating
Rating是一个用于打分或排名的控件.看一个最简单的例子: <!DOCTYPE html> <html ng-app="ui.bootstrap.demo" x ...
- PRML读书会第十二章 Continuous Latent Variables(PCA,Principal Component Analysis,PPCA,核PCA,Autoencoder,非线性流形)
主讲人 戴玮 (新浪微博: @戴玮_CASIA) Wilbur_中博(1954123) 20:00:49 我今天讲PRML的第十二章,连续隐变量.既然有连续隐变量,一定也有离散隐变量,那么离散隐变量是 ...
随机推荐
- C温故补缺(五):main函数的参数
main()的参数 main()函数的参数,用于在外部执行时传入参数,类似windows的bat脚本或linux的sh脚本.在bat脚本中传入参数,用%接收.sh脚本的参数用$接收. c语言编译成可执 ...
- 9 STL-queue
重新系统学习c++语言,并将学习过程中的知识在这里抄录.总结.沉淀.同时希望对刷到的朋友有所帮助,一起加油哦! 生命就像一朵花,要拼尽全力绽放!死磕自个儿,身心愉悦! 写在前面,本篇章主要介绍S ...
- 关于 python 中比较运算的顺序
先来看一个例子: "x" > "y" == True 结果为 False 因为这里的表达式可以等同于 "x" > "y ...
- redux原理分享
概述 一个状态管理工具 Store:保存数据的地方,你可以把它看成一个容器,整个应用只能有一个 Store. State:包含所有数据,如果想得到某个时点的数据,就要对 Store 生成快照,这种时点 ...
- kettle 链接oracle12c
jdbc连接cdb数据库时,url兼容以下2种模式: "jdbc:oracle:thin:@192.168.75.131:1521:oracle12c" "jdbc:or ...
- C++编程笔记(智能指针学习)
目录 scoped_ptr unique_ptr shared_ptr 智能指针简单应用 智能指针简单应用 scoped_ptr 拷贝构造和 =赋值操作均为私有,不允许 内部重载了解引用(*)操作符和 ...
- vue-router路由之路-极简教程
01.什么是前端路由? 前端路由的一个大背景就是当下流行的单页应用SPA,一些主流的前端框架,如vue.react.angular都属于SPA,那什么是SPA呢? 1.1.SPA SPA(single ...
- CLI框架:klish安装与使用
在通信设备领域,思科的路由器设备可以用CLI进行操作.这里介绍的开源项目klish是思科CLI风格(CISCO-like CLI)的框架.命令配置文件为xml格式. 源码:pkun/klish: Th ...
- Android 使用实现简单的音乐播放以及管理
这里主要通过 MediaPlayer以及 AudioManager 来实现的对应的功能. 1.第一种,播放本地媒体文件: 你需要自己准备一个MP3格式的音频文件: 然后在资源目录(res)里面新建一个 ...
- [LeetCode]二进制求和
题目 代码 class Solution { public: string addBinary(string a, string b) { int lenA = a.length(); int len ...