Unity Meta Quest 开发导论:开发现状与主流 SDK

2023-10-20 02:52

本文主要是介绍Unity Meta Quest 开发导论:开发现状与主流 SDK,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 📕开发平台分类
  • 📕Quest 一体机开发分类
  • 📕Quest 一体机开发主流 SDK
  • 📕Quest PCVR 开发主流 SDK
  • 📕新手入门开发的 SDK 推荐

推荐一个高质量知识星球 XR 社区:SEED XR社区。包含教程答疑、及时交流、进阶教程、外包、行业动态、升学就业指导。

知识星球链接:Seed XR 高级社区

在这里插入图片描述

本篇文章配套的视频链接:【2023 VR+MR全硬件开发教程】:一、开发导论(主讲:YY)

📕开发平台分类

VR(XR)头显的开发按照程序运行的平台分类主要可以分为一体机应用PCVR 应用。一体机应用就是直接运行在 VR 头显内的应用,它的算力由头显本身提供。PCVR 应用就是需要将头显和电脑进行串流,它的算力由电脑提供,头显只负责显示画面

因为目前来说电脑的芯片比一体机头显内置的芯片更加强大,所以通常来说 PCVR 应用相比一体机应用会有更好的画质,但是一体机应用也有它的优点,就是方便。因为玩 PCVR 需要有一个头显和电脑串流的步骤,串流分为有线串流无线串流。有线串流就是需要将头显和电脑通过一根串流线进行连接,那么我们玩 PCVR 可能经常会受到这根串流线的束缚。无线串流就是需要将头显和电脑通过 WiFi 进行连接,那么这就需要一个比较好的网络才能有流畅的体验。并且你的电脑配置也决定了是否能流畅地玩 PCVR 游戏。但是一体机应用就比较方便了,头显开机之后就能直接玩,没有什么束缚。那么以上就是 PCVR 应用和一体机应用的区别,大家需要根据自己的需求选择哪一种类型的开发。

📕Quest 一体机开发分类

那么我会先从 Meta Quest 一体机开发讲起。Quest 一体机开发按照输入类型分类可以分为手柄功能的开发(比如操作手柄按键去控制人物)和手势追踪(用自己的双手去与虚拟物体进行交互)。

然后按照应用中的背景环境分类的话可以分为 VRMR 。VR 就是完全虚拟的环境。MR 就是能在现实场景中看到虚拟的物体,并且能和虚拟物体交互,虚拟物体也能和现实物体交互,比如虚拟物体与现实物体产生遮挡关系、虚拟物体能够与现实物体发生碰撞。 Quest 头显能够通过它的视频透视技术(Video See-Through)看到现实中的环境,但是透视只是将原来虚拟世界的游戏背景替换成现实世界的图层,然后将虚拟物体叠加在现实世界的图层上。如果想要实现虚拟物体和现实物体的碰撞和遮挡,就要用上一些 MR 的技术。这方面 Meta 已经在不断完善它的 API 了。因为最近 Quest3 出了嘛,它有两个 RGB 彩色摄像头和一个深度传感器,透视的清晰度更高,并且能对周围场景进行扫描,对 MR 的支持肯定会更好,并且 Meta 在 Quest3 发布会上也着重强调了 Quest3 的 MR 体验,这说明 MR 在未来可能会是一个非常值得研究的方向。包括明年会出的Apple Vision Pro,也是注重MR体验。身为开发者,我们也可以提前做一些技术积累,应对未来快速发展的时代。

在这里插入图片描述

📕Quest 一体机开发主流 SDK

要想开发 XR 应用,我们需要使用一些 XR 开发的 SDK,也就是软件开发工具包。那么我们先来看一看目前市面上有哪些主流的用于开发 Quest 一体机应用的 SDK。本系列教程使用的是 Unity 引擎进行开发,因此我会列出一些 Unity 版本的 SDK。

在这里插入图片描述

首先是 OpenXR+XR Interaction Toolkit(XRI)的方案。这个 OpenXR 是什么东西呢?在 OpenXR 还没出现之前,XR行业发展的早期,不同的 XR 设备都维护着它们各自的 SDK,供开发人员制作出能在相应设备上运行的程序,因此开发者需要根据不同的 XR 设备厂商选择不同的 SDK 进行开发。但是如果在不同设备上移植同一套程序就比较麻烦了,因为可能会出现 A 厂商的 SDK 无法兼容到 B 厂商的设备上。这就会导致如果我想要使用不同设备的人都能体验到我开发的程序,就需要为每一种设备开发一个特定的程序版本。那么这显然是巨大的负担。而开发者希望 XR 行业能有一套统一的标准,只要编写一次代码,就能兼容所有的设备。这样开发者只要专注于程序开发本身,而不用在意设备间的差异。

而 OpenXR 就是为了简化 XR 开发而制定的一套标准。相当于在编写的 XR 应用程序和不同的硬件设备间新增了一个中间层,最上层是 XR 应用程序,最底层是硬件设备,而这两个层的中间夹了一个 OpenXR 层,它向上提供一套统一的开发 API,不同的开发引擎对该 API 进行二次封装,提供给 XR 应用开发者使用。而不同的设备厂商为硬件编写支持 OpenXR 标准的接口,使得中间层能够向下兼容对应的硬件设备。如今,越来越多的 XR 设备开始支持 OpenXR 标准,这意味着选用 OpenXR 进行 XR 设备的开发可以成为一种通用的方案。

在这里插入图片描述

而 XR Interaction Toolkit 是 Unity 官方提供的开发 VR/AR 程序的工具包。结合 Unity 中的 OpenXR 插件,就能开发 XR 应用了,并且理论上适用于所有支持 OpenXR 标准的头显。那么这套方案适用于开发 VR 手柄相关功能,比如移动,传送,转向,抓取,射线交互,点触交互,点触交互就比如直接用手去点击一个 UI 按钮。那么 XR Interaction Toolkit 的优点就是跨平台,易上手。但是目前来说一些复杂的功能需要自己实现,比如手部物理,抓取手势等功能。不过这个XR Interaction Toolkit 目前也是在不断更新,每次更新都会新加一些功能,也许在未来它会内置更多复杂的功能。

OpenXR+XR Hands 的方案是用来实现手势追踪的,OpenXR+Meta OpenXR Feature 的方案是用来实现 MR 的。但是 XR Hands 和 Meta OpenXR Feature 目前还处于早期开发阶段,提供的功能不是很多。

接下来是 Oculus Integration:

在这里插入图片描述

它是 Meta 自家的SDK。能够用于手柄功能的开发,手势追踪(包括抓取,点击,射线交互,识别手势,比如我摆出一个剪刀手,能被Quest识别出来),然后还有 MR 的开发。这款 SDK 提供的功能是挺多的,但是它也有一个缺点,就是 SDK 迭代速度很快,可能前一个版本中的一个组件到了下一个新版本,使用方法就发生了很大的改变。并且我感觉它的官方文档某些地方写的挺乱的,可能不易看懂。

除此之外,还有 UltimateXR,它也是一款比较好用的 XR 开发框架。(https://www.ultimatexr.io/)

还有这个 AutoHand,它是一款付费插件,具有非常优秀的手部物理交互系统。

📕Quest PCVR 开发主流 SDK

那么既然讲了 Quest 一体机开发的 SDK,我也顺带讲一下 PCVR 的一些主流的 SDK。首先这个 OpenXR+XR Interaction Toolkit 的方案也是适用的,然后还有像SteamVR,VRTK,
UltimateXR, Auto Hand,VR Interaction Framework,HurricaneVR,都是比较不错的选择。

在这里插入图片描述

📕新手入门开发的 SDK 推荐

最后总结一下,如果要开发 Quest 一体机应用,手柄功能的开发我推荐用 OpenXR+XR Interaction Toolkit 的方案,对于新手来说容易上手,并且它的相关教程目前是最多的。如果你想开发手势追踪或者 MR 的内容,目前我推荐用 Meta 自家的 Oculus Integration。如果要开发 PCVR,然后用 Quest 串流。我也推荐新手从 OpenXR+XR Interaction Toolkit 入手,如果想要实现更复杂的功能也可以尝试其他插件。

这篇关于Unity Meta Quest 开发导论:开发现状与主流 SDK的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/244132

相关文章

这15个Vue指令,让你的项目开发爽到爆

1. V-Hotkey 仓库地址: github.com/Dafrok/v-ho… Demo: 戳这里 https://dafrok.github.io/v-hotkey 安装: npm install --save v-hotkey 这个指令可以给组件绑定一个或多个快捷键。你想要通过按下 Escape 键后隐藏某个组件,按住 Control 和回车键再显示它吗?小菜一碟: <template

Hadoop企业开发案例调优场景

需求 (1)需求:从1G数据中,统计每个单词出现次数。服务器3台,每台配置4G内存,4核CPU,4线程。 (2)需求分析: 1G / 128m = 8个MapTask;1个ReduceTask;1个mrAppMaster 平均每个节点运行10个 / 3台 ≈ 3个任务(4    3    3) HDFS参数调优 (1)修改:hadoop-env.sh export HDFS_NAMENOD

嵌入式QT开发:构建高效智能的嵌入式系统

摘要: 本文深入探讨了嵌入式 QT 相关的各个方面。从 QT 框架的基础架构和核心概念出发,详细阐述了其在嵌入式环境中的优势与特点。文中分析了嵌入式 QT 的开发环境搭建过程,包括交叉编译工具链的配置等关键步骤。进一步探讨了嵌入式 QT 的界面设计与开发,涵盖了从基本控件的使用到复杂界面布局的构建。同时也深入研究了信号与槽机制在嵌入式系统中的应用,以及嵌入式 QT 与硬件设备的交互,包括输入输出设

OpenHarmony鸿蒙开发( Beta5.0)无感配网详解

1、简介 无感配网是指在设备联网过程中无需输入热点相关账号信息,即可快速实现设备配网,是一种兼顾高效性、可靠性和安全性的配网方式。 2、配网原理 2.1 通信原理 手机和智能设备之间的信息传递,利用特有的NAN协议实现。利用手机和智能设备之间的WiFi 感知订阅、发布能力,实现了数字管家应用和设备之间的发现。在完成设备间的认证和响应后,即可发送相关配网数据。同时还支持与常规Sof

活用c4d官方开发文档查询代码

当你问AI助手比如豆包,如何用python禁止掉xpresso标签时候,它会提示到 这时候要用到两个东西。https://developers.maxon.net/论坛搜索和开发文档 比如这里我就在官方找到正确的id描述 然后我就把参数标签换过来

Linux_kernel驱动开发11

一、改回nfs方式挂载根文件系统         在产品将要上线之前,需要制作不同类型格式的根文件系统         在产品研发阶段,我们还是需要使用nfs的方式挂载根文件系统         优点:可以直接在上位机中修改文件系统内容,延长EMMC的寿命         【1】重启上位机nfs服务         sudo service nfs-kernel-server resta

【区块链 + 人才服务】区块链集成开发平台 | FISCO BCOS应用案例

随着区块链技术的快速发展,越来越多的企业开始将其应用于实际业务中。然而,区块链技术的专业性使得其集成开发成为一项挑战。针对此,广东中创智慧科技有限公司基于国产开源联盟链 FISCO BCOS 推出了区块链集成开发平台。该平台基于区块链技术,提供一套全面的区块链开发工具和开发环境,支持开发者快速开发和部署区块链应用。此外,该平台还可以提供一套全面的区块链开发教程和文档,帮助开发者快速上手区块链开发。

Vue3项目开发——新闻发布管理系统(六)

文章目录 八、首页设计开发1、页面设计2、登录访问拦截实现3、用户基本信息显示①封装用户基本信息获取接口②用户基本信息存储③用户基本信息调用④用户基本信息动态渲染 4、退出功能实现①注册点击事件②添加退出功能③数据清理 5、代码下载 八、首页设计开发 登录成功后,系统就进入了首页。接下来,也就进行首页的开发了。 1、页面设计 系统页面主要分为三部分,左侧为系统的菜单栏,右侧

v0.dev快速开发

探索v0.dev:次世代开发者之利器 今之技艺日新月异,开发者之工具亦随之进步不辍。v0.dev者,新兴之开发者利器也,迅速引起众多开发者之瞩目。本文将引汝探究v0.dev之基本功能与优势,助汝速速上手,提升开发之效率。 何谓v0.dev? v0.dev者,现代化之开发者工具也,旨在简化并加速软件开发之过程。其集多种功能于一体,助开发者高效编写、测试及部署代码。无论汝为前端开发者、后端开发者

pico2 开发环境搭建-基于ubuntu

pico2 开发环境搭建-基于ubuntu 安装编译工具链下载sdk 和example编译example 安装编译工具链 sudo apt install cmake gcc-arm-none-eabi libnewlib-arm-none-eabi libstdc++-arm-none-eabi-newlib 注意cmake的版本,需要在3.17 以上 下载sdk 和ex