如何使用Oculus Quest学习SteamVR开发

在与学员朋友们的交流过程中,越来越多的朋友在报名之前会询问这样一个问题:现在并没有HTC VIVE,手头上只有一个Oculus Quest1/2,能不能报名学习课时或者是自行进行steam VR的开发?本文将介绍关于这方面的内容。.

先上结论:通过这段时间的集中测试,我们使用了不同版本的Unity与SteamVR Unity 插件的搭配,最终得出的结论是可行的。

这类问题的本质是:如何使用Oculus Link这种有线串流技术去体验SteamVR的应用,进而通过Quest作为调试设备进行SteamVR应用程序的开发。

Oculus Link有线串流技术是Oculus所主推的一种体验SteamVR应用的解决方案,由于目前Oculus应用商店的内容相对较少,而更多的虚拟现实应用集中在Steam应用商店当中,使用Oculus Link去体验SteamVR应用无疑扩充了Quest能够体验的内容库。同时,我们看到最近Steam平台更新的VR头显活跃数据,Quest头显,尤其是Quest2的活跃度已经明显高于其他传统的PC VR设备,如HTC Vive、Oculus Rift等等。

Oculus Link 简介

Oculus Link有线串流技术是使用一根USB的线缆(建议在USB3.0以及以上)连接Quest与PC主机,在Quest头显中体验SteamVR应用的技术方案。运行在PC上的SteamVR应用程序,所需要的算力如物理碰撞、渲染都集中在PC上,渲染后的内容实时呈现在Quest头显中,此时Quest仅用于呈现类似视频的画面。

使用Quest开发SteamVR应用程序,虽然并不是一种常规的开发方式,但是在某些情况下,比如手头设备有限、时间有限等,那么使用Quest进行steamVR开发技术的学习或者开发一些小型VR应用程序原型,也不失为一种性价比较高的方案。

具体步骤及常见问题

目前Oculus官方仅针对玩家介绍了如何使用Oculus Link体验SteamVR应用,我们将在此基础上针对开发流程介绍具体的实现步骤以及在此过程中容易出现的问题。

第一步,安装Oculus软件(Oculus Software)并保持开启。Oculus软件在有线串流过程中负责将PC渲染输出的画面通过数据线传输到Quest头显中,同时将Quest的运动传感信息传递给PC主机进行计算。该软件下载地址:https://www.oculus.com/accessories/oculus-link/,第五步将会在该软件中为Oculus Link进行相关设置。

第二步,准备一根支持Oculus Link的数据线,连接Quest与PC。为了达到更流畅的体验,建议使用支持USB 3.2协议的数据线,虽然官方商城也提供了原厂配件供用户购买,但无论从成本还是购买渠道上,对于国内的开发者来说,目前实现起来相对困难。开发者可自行购买品质相对较高的USB3.0以上的数据线来实现Oculus Link。实际上,在后续推出的Oculus软件(Oculus Software)和Quest操作系统版本中,Oculus已经逐渐降低了对于USB线缆的要求,甚至使用随机附送的充电线也可实现Oculus Link有线串流。需要注意的是,随机附送的Type-C数据线主要用于设备充电,数据传输协议是USB 2.0。当使用原装充电线连接Quest与PC时,在Oculus桌面软件中,设备栏会检测到连接,如果数据线协议低于USB3.0,将显示黄色的警告,建议用户使用USB 3.0及其以上的数据线进行连接,如下图所示:

第三步,升级Quest操作系统和Oculus桌面软件为相对较新版本,建议为V28及以上。更高的版本对于数据线的要求就相对较低,因为随着版本的更新,Oculus会从软件层面对Oculus Link的性能逐步进行优化。需要注意的是,这里所谓的对数据线的要求比较低,指的是对于数据传输协议(3.2或者2.0)的要求比较低,而并不是代表对于线材的品质要求比较低。要实现更加稳定的信号传输,数据线还是要保证有相对较高的品质。

第四步,确保没有其他的PC VR设备与PC连接。如有,需要先断开这些设备与PC的连接,在测试过程中发现,如果已经连接并正常运行过如HTC Vive的PC VR设备,则SteamVR客户端启动时,将优先连接这类设备,从而导致不能够正常的通过Oculus Link连接Quest。

第五步,在Oculus 桌面软件(Oculus Software)中设置允许运行未经审核的应用程序。鉴于Oculus的安全机制,默认情况下未经审核的应用不能在Quest中运行,所以要将SteamVR客户端或SteamVR应用程序的内容传输到Quest,需要设置Oculus软件能够允许未经审核的的应用。在Oculus软件中,选择“设置” - "通用",在未知来源中,开启”允许运行未经Oculus审核的应用“选项。若不开启此选项,当运行SteamVR应用程序时,Quest头显中将始终呈现等待画面。

第六步,要打开通过Steam客户端安装的SteamVR。关于如何在Steam客户端中安装SteamVR,该过程相对简单,此处不再赘述。SteamVR安装完毕以后,点击“启动”按钮或者点击Steam客户端右上角的VR图标即可正常启动SteamVR。SteamVR客户端启动后,能够检测到Quest头显以及两个手柄控制器,如下图所示:

此时佩戴上Quest头显后,会在头显内部会弹出两次对话框——第一次是询问用户是否允许访问Quest中的文件,此时用手柄控制器点击“允许”即可;第二次弹出的对话框询问是否开启Oculus Link,同样点击”允许“即可。此时在Quest头显中进入SteamVR Home应用或SteamVR待机画面,与使用HTC Vive时开启SteamVR客户端体验效果一致,如下图所示:

此时,对于一般终端用户来说,已经能够通过Oculus Link体验SteamVR 应用,后续介绍的步骤则与开发相关。

之所以强调需要打开通过Steam客户端安装的SteamVR,是因为在测试过程中发现,如果打开的是通过Vive安装程序所安装的SteamVR客户端,在使用Unity开发SteamVR应用过程中,运行项目时不会出现Quest手柄控制器。另外,如果系统同时存在从两种渠道安装的SteamVR客户端,则在Unity中运行应用程序时,系统会优先开启通过Vive安装程序安装的SteamVR客户端,从而大概率会出现手柄控制器不显示的问题。

第七步,使用Unity创建项目,导入SteamVR Unity插件进行开发。在Oculus Link环境搭建成功后,即可正常以Quest为测试设备,使用Unity进行SteamVR应用程序的开发。另外,如果使用第二代Quest设备即Quest 2,将系统升级到V28后,可以使用Air Link实现无线串流。需要注意的是,Air Link功能仅对Quest 2 开放,对于Quest 1,截至目前尚不提供支持。

建议开发软件版本

考虑到Unity编辑器的LTS版本功能相对稳定,所以建议使用的版本搭配为以下两种,即两个Unity LTS版本分别与最新的SteamVR Unity插件搭配使用:

  • Unity 2019.4 + SteamVR 2.7.3
  • Unity 2020.3 + SteamVR 2.7.3

需要注意的是,对于Unity 2019.4,在导入SteamVR 2.7.3后,会弹出对话框,提示开发者选择新旧两个不同的OpenVR Plugin版本,如下图所示:

这是因为在Unity 2019中,尚未完全移除用于管理VR SDK的XR Settings模块,而在Unity 2020中,已经将其完全移除,改为在XR Plug-in Management模块中统一管理所有VR和AR厂商提供给Unity调用的第三方工具包,插件导入后也将不再弹出此对话框。若在弹出的对话框中选择“Unity XR”按钮,除安装OpenVR Unity XR Plugin外,还将安装XR Plug-in Management模块,如下图所示:

在实际开发过程中,选择任一选项,均不影响通过Oculus Link测试应用程序,只是如果选择"Legacy VR"后,会出现即使是使用HTC VIVE进行测试时也会偶尔出现的问题——Unity Console窗口弹出警告信息,如下图所示:

该警告说明OpenVR SDK在XR Settings中没有处于第一选项的位置,从而导致应用程序不能运行。要处理此类问题,只需在XR Settings中的VR SDK列表中选择Oculus SDK,点击右下角的减号按钮将其移除即可,如下图所示:

测试

插件导入并设置完毕后,使用默认的动作配置文件创建动作及按键绑定,此时可以运行SteamVR Interaction System的示例场景进行初步测试。在Project窗口中,路径SteamVR/InteractionSystem/Samples下,双击打开Interactions_Example场景文件,点击Play按钮运行应用程序,效果如下图所示,此时场景中显示的手柄控制器为Oculus Touch,程序能够正常运行,同时能够实现场景中所有的交互功能,从而证明可以使用Quest通过Oculus Link有限串流进行SteamVR应用程序的开发。

另外需要主要的是,HTC Vive的手柄控制器按键与Quest手柄控制器(Oculus Touch)按键有所区别,HTC Vive中的Touchpad键对应Oculus Touch中的摇杆,同时HTC Vive没有A、B按键,所以在查找SteamVR相关开发资料或教程时,读者需要考虑到此类区别。

本文视频内容收录于《SteamVR 2.x交互开发指南》,腾讯课堂搜索"steamvr"或点击这里了解详情。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/28456.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

unity +vive(设备)+steam vr(软件)(第一天)

废话不多说,直接开始! 首先是设备! 下载我们最爱的steam!!! 同时下载一下一个叫steam VR的一个工具 主要我们就有了基本游玩vr的工具。 vr眼镜我用的是学校提供的HTC vive家的设备 unity版本是2020.3.2…

VR联机体验破圈难?VRChat进军移动端分析

4年前,VR社交应用Rec Room为了扩大用户群体,宣布进军iOS移动生态,随后又陆续登陆了PlayStation、Xbox、安卓等主流的非VR硬件平台。而近期,另一款经典VR社交应用VRChat也宣布将支持安卓移动平台。毫无疑问,跨设备对于社…

Win10系统中用Unity进行Oculus quest 2 VR开发的测试与打包

具体打包的整个流程可以参考文章: 如果是将apk文件打包在电脑上需要通过adb这个命令行工具进行安装,安装方式比较简单, 1、去官网下载适用于 Windows 的 SDK Platform-Tools 2、下载安装后配置环境变量 # 比如我的安装位置是 E:\software\install\ADB…

vrchat新手教程_VRChat入门指南| 最新电脑资讯

您知道电脑硬盘是如何读取和存储数据的吗?恢复软件是如何找回数据的吗?通过这个视频教程,你将了解你丢失的数据是否还在,这些文件能否找回。 请点击 - 》》》》 观看视频 如何安全找回丢失数据的方法 1. 下载并安装B计划数据恢复软…

分享一种虚拟现实显示的思路,多面曲面显示非头戴VR

⑴技术领域 本文主要涉及三维虚拟空间的三维坐标转换到二维平面显示时二维坐标变换关系,具体属于计算机图形领域。 ............................................................................................................. ⑵引出技术点 目前的显示方…

0基础学习VR全景平台篇 第57篇:高级功能-多语言

功能位置示意 一、本功能将用在哪里? 多语言功能,可一键设置作品界面语言为中/英文,或跟随系统自动切换中/英文,各位可以用户可以轻松制作英文版VR全景作品,满足国外用户访问的需求。 此外蛙色VR平台,可通…

小白初窥VR世界的通行证?浅聊 PCVR 串流软件 Virtual Desktop - VR与串流篇 上

什么是Virtual Desktop? Virtual Desktop (以下简称VD)是一款VR串流软件,其通过局域网低延迟、高质量的流式传输将PC端的界面同步到用户的VR头显中,给用户带来舒适且愉快的VR体验,是VR头显串流PCVR的重要助手。 VD作为VR玩家几乎人…

Unity接入百度语音识别SDK windows平台

1.先注册百度开放平台的账号,然后按文档申请试用资格及创建应用:https://ai.baidu.com/ai-doc/SPEECH/qknh9i8ed Windows平台选择“不需要”就可以了。 2.下载C# SDK包 解压以后里面包含这两个文件夹,我工程里面用的是net45,将文…

(每日更新)《虚拟现实VR资讯》(Yanlz+Unity+SteamVR+云技术+5G+AI=VR云游戏=云渲染+人机交互+立钻哥哥+==)

虚拟现实(Virtual Reality) 虚拟现实简称VR,是一种可以创建和体验虚拟世界的计算机仿真系统,它利用计算机生成一种模拟环境,是一种多源信息融合的、交互式的三维动态视景和实体行为的系统仿真使用户沉浸到该环境中。 …

微软又出大招!ChatGPT将加入云服务!

点击下方卡片,关注“CVer”公众号 AI/CV重磅干货,第一时间送达 点击进入—>CV微信技术交流群 本文转载自:机器之心 | 编辑:陈萍、蛋酱 微软动作很迅速,继 ChatGPT 或将加入 Word、PPT、Excel 后,这次微软…

UE5 Oculus Quest2 使用跨平台交互语音聊天Cross-Platform Voice Chat Pro制作语音聊天功能 1

局域网多人联机 1.WidgetMenu追加UI 2. Server按钮蓝图 3.Client按钮蓝图 备注:目前固定了局域网服务器IP地址。有兴趣的小伙伴可自行拓展。 参考:

基于腾讯云实时音视频(TRTC)的web端 多人人脸识别小游戏

场景介绍 一个双人视频互动的小游戏, 连接后,可以实时看到对方的视频情况, 根据对方的视频情况实时进行游戏操作 摇头进行控制挡板 不让球掉落。 眨眼发球。 准备工作 获取应用 SDKAppID 和 应用秘钥 登录腾讯云 搜索 实时音视频 TRTC 创…

ChatGPT的前生: Prompting思想

Prompt的思想是语言模型通往真正大一统的关键一步 。 ChatGPT目前大火,然而不少人对于ChatGPT的前辈---Prompt范式却不了解。希望通过本文,可以让读者对Prompt范式所蕴含的思想有所了解。本文不侧重细节的讲解,而重点突出Prompt范式背后的思想…

使用Python机器学习预测足球比赛结果:第一篇 数据采集 (上)

利物浦7比0狂胜曼联,这个锅不能再让C罗背了吧。预测足球比分有什么好方法吗? 微信搜索关注《Python学研大本营》,加入读者群,分享更多精彩 探索足球结果和赔率的 Python 项目。 随着数据建模成为处理随机性的强大资源&#xff0…

ChatGPT、GPT4、AutoGPT 和 MemoryGPT:初学者指南

人工智能 (AI) 不仅在改变行业,也在改变我们的日常生活。借助人工智能,我们可以改善我们的组织和生产力,让我们能够专注于真正重要的事情。在本文中,我们将探讨一些适用于日常生活的 AI 工具,以及它们如何帮助您保持井…

《2023 大语言模型综合能力测评报告》出炉:以文心一言为代表的国内产品即将冲出重围

近日国内与人工智能领域相关的利好政策陆续释放,中央召开的相关会议强调“未来要重视通用人工智能发展,营造创新生态。”《北京市促进通用人工智能创新发展的若干措施(2023-2025 年)(征求意见稿)》围绕五大…

我用GPT干的18件事!

给大家整理了 18 种 ChatGPT 的用法,看看有哪些方法是你能得上的 语法更正文本翻译语言转换代码解释修复代码错误作为百科全书信息提取好友聊天创意生成器采访问题论文大纲故事创作问题类比创建 SQL 需求情感分析将产品描述转变为广告关键字提取闲聊机器人 语法更正…

指令模板:采访大纲生成 | AIGC实践

最近收获了一些朋友的谬赞,说我“执行力太强了”,可以持续输出内容。 呃,其实吧,这些素材都是从我的实际工作和生活中来的,只是稍加整理而已。 要说起来,AIGC的出现已经完全改变了我的工作方式。在遇到问题…

每日一个 ChatGPT 使用小技巧系列之4:使用 AI 工具对 SAP ABAP 代码的编写质量进行打分

本系列之前的文章: 与其整天担心 AI 会取代程序员,不如先让 AI 帮助自己变得更强大 每日一个 ChatGPT 使用小技巧系列之1 - 给出提纲或者素材,让 ChatGPT 帮你写作 每日一个 ChatGPT 使用小技巧系列之2 - 用 ChatGPT 研读 SAP ABAP BAPI 的…