【重制版】Unity Meta Quest 一体机开发(一):前期准备,Meta XR SDK导入和环境配置,配置玩家物体

文章目录

  • 📕教程说明
  • 📕Meta XR SDK 介绍
  • 📕前期准备
    • ⭐开启开发者模式
      • ⚡在 Meta 官网申请开发者
      • ⚡在 Meta Quest 手机 APP 开启开发者
    • ⭐电脑需要下载的软件
      • ⚡Meta Quest Link(以前叫做Oculus PC客户端)
      • ⚡Oculus ADB Drivers
      • ⚡SideQuest
      • ⚡87VR助手
      • ⚡Meta Quest Developer Hub
      • ⚡Unity Hub
  • 📕Unity 操作
    • ⭐Unity 环境配置
      • ⚡添加安卓模块
      • ⚡Building Settings 里将平台切换成安卓
      • ⚡导入 Meta XR SDK
      • ⚡Project Setup Tool 自动修复环境
      • ⚡Quality 设置
      • ⚡XR Plug-in Management
      • ⚡修改全局配置文件
    • ⭐配置玩家物体
    • ⭐例:快速配置可以被抓取的物体
    • ⭐将 Unity 程序打包到头显中运行
    • ⭐导入样例场景

此教程相关的详细教案,文档,思维导图和工程文件会放入 Spatial XR 社区。这是一个高质量 XR 开发者社区,博主目前在内担任 XR 开发的讲师。该社区提供专人答疑、完整进阶教程、从零到一项目孵化保姆服务(包含产品上架App lab)、投资|融资对接、工程文件下载等服务。

社区链接:
SpatialXR社区:完整课程、项目下载、项目孵化宣发、答疑、投融资、专属圈子

在这里插入图片描述


📕教程说明

这期教程我将介绍使用 Unity 开发 Meta Quest 应用的前期准备,Meta XR SDK 导入 Unity 和环境配置,以及如何配置玩家物体。

Unity 版本:2022.3.20f1

视频讲解链接:
(上)开发者模式,前期软件准备 https://www.bilibili.com/video/BV1kw4m1D7yF

(下)导入Meta XR SDK,配置玩家物体 https://www.bilibili.com/video/BV1LJ4m1P7gr

注:在制作教程的时候 SDK 版本还是 v64 版本,但是教程发布的时候,SDK的版本已经更新到了 v65 版本。不过相关的配置流程没有发生变化,所以大家可以放心看接下来的部分。


📕Meta XR SDK 介绍

在这里插入图片描述


📕前期准备

在这里插入图片描述

⭐开启开发者模式

⚡在 Meta 官网申请开发者

官方文档中的指导:https://developer.oculus.com/documentation/native/android/mobile-device-setup/

在这里插入图片描述
在这里插入图片描述
账号认证:(我之前使用的是手机号认证)
在这里插入图片描述

创建组织:
在这里插入图片描述

⚡在 Meta Quest 手机 APP 开启开发者

这个步骤非常重要!
在这里插入图片描述
在这里插入图片描述
开启开发者模式后,可以在 Quest 头显里的 “设置>系统” 中检查是否有“开发者”选项(截图源于Quest v64 系统)

在这里插入图片描述

不过有时候虽然头显里有开发者选项,主要还是看手机 APP 里的开发者模式是否是开启的。

⭐电脑需要下载的软件

⚡Meta Quest Link(以前叫做Oculus PC客户端)

用于串流调试,直接通过头显看到Unity中运行的画面。

串流:将电脑中显示的画面传输到头显中。
有线串流:通过USB线(推荐USB3.0)将头显与电脑连接在一起
无线串流:通过Wi-Fi将头显与电脑连接在一起

下载链接:https://www.meta.com/zh-cn/help/quest/articles/headsets-and-accessories/oculus-rift-s/install-app-for-link/

串流需要的电脑配置(推荐用 Windows,Mac 目前无法串流)
https://www.meta.com/zh-cn/help/quest/articles/headsets-and-accessories/oculus-link/requirements-quest-link/

在这里插入图片描述

Meta Quest Link软件打不开,一直在加载的解决方法:

在这里插入图片描述

一般是网络问题。

关键词
方法一:代理软件开隧道模式 TUN Mode
方法二:改 Host 文件

Meta Quest Link软件设置(重要)
在开启开发者模式的前提下:
在这里插入图片描述
在这里插入图片描述

⚡Oculus ADB Drivers

驱动软件
https://developer.oculus.com/downloads/package/oculus-adb-drivers/

在这里插入图片描述

⚡SideQuest

可以用于下载第三方应用,Quest 文件夹管理,投屏。

在这里插入图片描述

⚡87VR助手

SideQuest 替代品,作用和 SideQuest 类似,有中文界面
在这里插入图片描述

⚡Meta Quest Developer Hub

更多的开发者调试功能,应用上架商店 (需要科学上网)

在这里插入图片描述

⚡Unity Hub

用于管理不同版本的 Unity 编辑器。

国际版:
版本号后缀没有 c,导入 Meta XR SDK 比较方便(https://unity.com/download,需要科学上网才能下载到国际版,注意下载的 Unity Hub 版本后缀)

国服版:
大陆 ip 默认下载的是国服版,版本号后缀带有 c,对国内社区比较方便,过去导入 Meta XR SDK 不方便,但是 SDK v65 及以后版本解决了以前版本的导入问题

在这里插入图片描述

如上图所示,上面的是国际版,下面的是国服版。

Meta XR SDK 的导入方式:
方法一:在 Unity 的资源商店中将 SDK 导入自己的资源库,然后从 Unity 中的 Package Manager 导入到项目中

方法二:从 Meta 官网(https://npm.developer.oculus.com/)将 SDK 下载到本地,然后在 Unity 的 Package Manager 中通过 Add package from tarball 从本地导入到项目中(SDK v65之前国服版 Unity 需要使用这种导入方式,但是 v65 及以后的版本可以直接使用第一种导入方式)。


📕Unity 操作

在这里插入图片描述

⭐Unity 环境配置

⚡添加安卓模块

第一次安装 Unity 编辑器时会有添加模块的过程。如果你已经安装了 Unity 编辑器,可以到 Unity Hub 的安装里找到对应版本的编辑器,然后添加模块,如下图所示:

在这里插入图片描述
安装安卓相关的模块,因为 Quest 一体机的安卓系统,相当于我们要开发安卓应用。
在这里插入图片描述

⚡Building Settings 里将平台切换成安卓

点击菜单栏的 File > Build Settings,将 Platform 切换成安卓:

在这里插入图片描述
在这里插入图片描述

⚡导入 Meta XR SDK

Meta XR SDK v65 及以后的版本,不管是国际版的 Unity,还是国服版的 Unity,应该都可以直接从 Unity 资源商店里进行导入。

首先打开 Unity Asset Store 资源商店的官网,将 Meta XR All-in-One SDK 添加到自己的资源库:

在这里插入图片描述
在这里插入图片描述
接下来打开 Unity 的 Window > Package Manager,选中 My Assets,安装 Meta XR All-in-One SDK

在这里插入图片描述
在这里插入图片描述

安装完成后它会自动导入里面包含的 Meta XR SDK。

⚡Project Setup Tool 自动修复环境

点击菜单栏的 Edit > Project Settings,找到 Meta XR,点击安卓端和 PC 端的 Fix All 和 Apply All,直到所有元素变绿,Project Setup Tool 能自动帮我们配置开发环境。

在这里插入图片描述

⚡Quality 设置

点击菜单栏的 Edit > Project Settings,找到 Quality,官方是推荐把 Anti-Aliasing 设为 4x Multi Sampling:

在这里插入图片描述

⚡XR Plug-in Management

如果之后你在 PC 串流调试的时候遇到只有一只眼睛渲染的情况,你可以把 XR Plug-in Management 下的 Oculus 的 PC 端的 Rendering Mode 设为 Multi Pass,但是需要注意,Project Setup Tool 会将它自动改回 Single Pass instanced,所以如果出现了上述的问题,需要手动修改。

在这里插入图片描述

另外安卓端的 Target Device 可以勾选上自己的设备:

在这里插入图片描述

⚡修改全局配置文件

在 Project 窗口中的 Assets >Oculus 文件夹下找到 Oculus Project Config,Target Devices 也勾选上自己开发的设备型号,并且将 Hand Tracking Support 改为 Controller And Hands 或 Hands Only 来开启手势追踪。

在这里插入图片描述
在这里插入图片描述

⭐配置玩家物体

配置玩家物体有多种方式,比如使用 Building Block(相关教程:Unity Meta XR SDK 快捷配置开发工具【Building Block/Quick Action/OVRCameraRigInteraction】),或者自己从头开始手动配置。而这期教程会介绍另一种简单的方法:

我们在 Project 窗口中搜索 OVRCameraRigInteraction 物体,搜索选项改为 All 或者 In Packages(因为 Meta XR SDK 的大部分资源存放在 Packages 文件夹下),然后将它添加到场景中:

在这里插入图片描述
这个是 Meta XR Core SDK 中提供的一个玩家物体,玩家物体就代表了我们在 XR 世界中的自己,而这个玩家物体集成了大部分的手柄和手势追踪交互功能,和交互相关的功能来自于 Meta Interaction SDK。

在这里插入图片描述

上图展示了一部分手势追踪交互相关的物体,可以看到该玩家物体上有许多 Interactor 后缀的物体。XR 的交互一般有两个对象参与:Interactor(发起交互的对象)和 Interactable(可以被交互的对象),Interactor 一般在玩家物体上,因为交互动作由玩家发起。Interactable 一般在可交互的物体上。那么有了 OVRCameraRigInteraction 这个玩家物体,我们基本就不用配置 Interactor 了,只需要把注意力放在给物体添加 Interactable 相关的脚本。

⭐例:快速配置可以被抓取的物体

玩家物体上已经有抓取相关的 Interactor,那么如果想要配置一个可被抓取的物体,是有比较便利的方法的。我们可以在 Unity 场景中添加一个物体,然后在 Hierarchy 面板中鼠标右键物体,选择 Interaction SDK > Add Grab interaction:

在这里插入图片描述

这时候会跳出一个窗口,首先点击 Fix All,它会在物体身上添加一些抓取需要的前置脚本,然后点击 Create:

在这里插入图片描述
这个时候,物体会多出一个子物体,这个子物体集成了抓取所需要的脚本:

在这里插入图片描述
在这里插入图片描述

这个时候运行程序,就能够看到抓取的功能。

⭐将 Unity 程序打包到头显中运行

点击菜单栏的 File > Build Settings,将要打包的场景放入Build Settings 中的Scenes In Build(可以点击 Add Open Scene,会自动添加当前的场景),头显与电脑连接成功后点击 Build And Run,将APK安装进头显,需要确保通过手机 APP 开启开发者模式后(有时候 Quest 系统更新,手机 APP 中的开发者模式会被关闭,要重新打开一下),Unity才能识别到头显设备。

在这里插入图片描述

⭐导入样例场景

与交互相关的场景用上了 Interaction SDK,但是它的样例场景包需要在 Unity 资源商店中额外导入,叫做 Meta XR Interaction SDK OVR Samples,然后在 Unity 的 Package Manager 中点击 Samples,手动将下方的样例场景文件导入到项目中:

在这里插入图片描述
导入的样例在 Assets 文件夹下。

在这里插入图片描述

其他 SDK 的样例场景也是在 Package Manager 找有没有 Samples 选项。

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

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

相关文章

洗地机有哪些牌子比较好?洗地机排行榜十大品牌

随着洗地机市场竞争的日益激烈,市场上涌现出数百个品牌的产品,涵盖了从入门级到高端的各类价位和功能。这种多样化的选择一方面极大地满足了用户的不同需求,但另一方面也让消费者在挑选时面临一定的困扰。在众多种类的洗地机中,如…

MyBatisPlus学习笔记(二)

条件构造器: Wrapper的作用就是来封装我们当前的条件的 删除用的和查询用的一样:QueryWrapper 和 LambdaQueryWrapper MyBatis-Plus分页插件的配置和使用 Ctrl H 查看当前接口或者类的一个继承关系 Ctrl P 分页插件 乐观锁和悲观锁 通用枚举 代码…

LVGL移植到STM32 MCU平台详细经验笔记教程

1、前言 在之前的一篇文章LVGL在VSCode中安装模拟器,已经对LVGL进行了较为详细的介绍,本文将着重讲解如何移植适配LVGL,让这款图形化GUI库在STM32或其它类型的嵌入式MCU设备上运行起来。 LVGL在VScode中安装模拟器运行配置笔记教程_vscode …

利用Dify+Kimi免费使用Kimi的API接口的操作和使用方法

废话不多说,直接开整kimi-free-api项目。 1、kimi-free-api服务安装启动 支持高速流式输出、支持多轮对话、支持联网搜索、支持智能体对话、支持长文档解读、支持图像OCR,零配置部署,多路token支持,自动清理会话痕迹。 与ChatG…

一文了解知识中台:是什么、作用、如何搭建

在当今信息繁杂的时代,知识对于企业来说犹如宝藏般重要,而知识中台就是宝藏山的藏宝图。关于知识中台,你可能会感到好奇,它究竟是什么,有什么作用,又该如何搭建知识中台呢?接下来就让LookLook同…

MATLAB分类与判别模型算法:基于Fisher算法的分类程序【含Matlab源码 MX_002期】

算法思路介绍: 费舍尔线性判别分析(Fishers Linear Discriminant Analysis,简称 LDA),用于将两个类别的数据点进行二分类。以下是代码的整体思路: 生成数据: 使用 randn 函数生成随机数&#x…

基于微信小程序开发的一款 高颜值在线答题刷题考试程序

大家好,我是兔兔。今天给大家分享的内容是,兔兔答题模板三的发布。 兔兔答题模板三是一款基于uniapp开发,后端使用PHP,前端使用图鸟UI的微信答题小程序应用程序。相必兔兔答题模板一和兔兔答题模板二,进行了系统架构的…

上位机图像处理和嵌入式模块部署(f103 mcu中main入口函数误解)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 学习stm32代码的时候,关于汇编文件,大家一般都会参考官方给出的汇编文件。通常情况下,不会自己去写汇编文件。特…

凡事有利有弊,如果生了一个自闭症的小孩,请说出有利的部分 :独特、专注力、诚实和直接,记忆力

生育一个自闭症小孩可能带来一些独特的优势和积极的方面,尽管也会面临许多挑战。以下是一些可能的有利方面: 独特的视角:自闭症儿童通常有独特的思维方式和视角,他们可能在某些方面比普通人更敏锐。这种独特性可以带来创新的解决方…

Nginx/阿里云/二级域名的配置和使用

阿里云域名解析配置如下: nginx配置如下: 访问地址: zhadmin.iotzzh.com image.png

20240529瑞芯微官方Toybrick TB-RK3588开发板的Debian11安装iperf并测试网速

20240529瑞芯微官方Toybrick TB-RK3588开发板的Debian11安装iperf并测试网速 2024/5/29 15:09 服务器端:瑞芯微官方Toybrick TB-RK3588开发板:Debian11 客户端:笔记本电脑:Ubuntu20.04 两者通过千兆交换机连接! toybr…

小白跟做江科大32单片机之蜂鸣器

1.复制之前编写的工程库项目,详细工程库创建过程如下链接: 小白跟做江科大32单片机之LED闪烁-CSDN博客https://blog.csdn.net/weixin_58051657/article/details/139295351?spm1001.2014.3001.55022.按照江科大老师给的图片进行连接蜂鸣器 3.修改main.c…

VRTK4教程 一:资源导入、Unity设置、连接头盔

文章目录 VRTK4的分包导入VRTK4的资源包unity设置连接头盔 VRTK4的分包 vrtk4的资源包和旧版不同,采用了分包导入的思想,我们要用什么功能,就导入什么包,可以有效减小程序体积 如下图,已经导入的vrtk包会显示在Packag…

【JS红宝书学习笔记】第4章 变量、作用域和内存

第4章 变量、作用域和内存 1. 原始值和引用值(面试题) ECMAScript 变量可以包含两种不同类型的数据:原始值和引用值。原始值(primitive value)就是最简单的数据(Undefined、Null、Boolean、Number、Strin…

DxO PhotoLab 6 for Mac/Win:专业RAW图片编辑的利器

DxO PhotoLab 6 for Mac/Win是一款专为摄影师和摄影爱好者打造的专业RAW图片编辑软件,它将先进的技术、丰富的功能与直观的操作完美结合,为用户提供了一款全面而强大的图片处理工具。 一、技术领先,处理RAW图片更高效 DxO PhotoLab 6采用了…

迅睿CMS邮箱设置QQ邮箱为例

邮箱设置 1、服务器地址两个,普通与企业。 普通:ssl://smtp.qq.com企业:ssl://smtp.exmail.qq.com 2、端口号为:465 3、邮箱账号:填写自己的QQ邮箱作为发布服务器。 4、邮箱密码:到QQ邮箱账号中获取“…

keil4和5版本代码编译错误问题

需求: 在工作中, 遇到了keil4工程的老代码, 需要烧录到板子中. 问题: 电脑中只有keil5软件, 使用keil5软件打开, 编译后报了一堆错, 还是官方库文件的错误, 这就是版本不兼容了. 解决方法: 下载keil4软件, 不要和keil5放到一起. 进行如下操作. 0. 根据如下链接来下载keil4.7…

Compose第一弹 可组合函数+Text

目标: 1.Compose是什么?有什么特征? 2.Compose的文本控件 一、Compose是什么? Jetpack Compose 是用于构建原生 Android 界面的新工具包。 Compose特征: 1)声明式UI:使用声明性的函数构建一…

2024-2025年跨境电商展览会计划表:共筑未来跨境行业的繁荣

-----------------------------2024年跨境电商展计划如下---------------------------- 2024年,2025年国内跨境电商行业将迎来一系列重大的展会活动,是企业展示品牌、交流趋势、拓展商机的重要平台。全国各地展会排期信息现已出炉,记得收藏哦…

Linux中断

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、中断的相关概念1.中断号2.中断的申请和释放申请API函数如下:释放API函数如下:中断处理函数如下:使能和禁止中断 二、上半…