Unity 新版 Meta XR SDK 无法导入解决方法

文章目录

  • 📕教程说明
  • 📕新版 SDK 说明
  • 📕从 Meta 官网导入开发包
    • ⭐依赖包
    • ⭐如何导入
    • ⭐导入后包存放在哪里了?
    • ⭐场景样例文件去哪了?

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

社区链接:
Spatial XR 高级社区(知识星球)
Spatial XR 高级社区(爱发电)

在这里插入图片描述


📕教程说明

配套的视频链接:MetaXR SDK无法导入的解决方法

以后 Meta 提供的 Unity 开发 SDK 会更新到 Meta XR SDK 中,原来的 Oculus Integration 不再更新。但是在发布这篇博客的这段时间内,如果从 Unity 的资源商店导入 Meta XR SDK,会报错

[Package Manager Window] Error adding package: com.meta.xr.sdk.all@60.0.0.
undefined == true
UnityEditor.EditorApplication:Internal_CallUpdateFunctions ()

如果你和我遇到了一样的问题,不要担心,本文提供了另一种导入方式:从 Meta 官网导入。

下载链接:https://npm.developer.oculus.com/ (需要连外网)

官方对每个开发包的介绍以及版本更新说明:https://developer.oculus.com/downloads/unity/

我也会把下载的开发包分享到 Spatial XR 社区里,社区成员可以直接从社区里下载。


📕新版 SDK 说明

现在 Meta 提供的 Unity 开发 SDK 已经从原来的 Oculus Integration 改成了 Meta XR SDK。在发布这篇博客的时候,Meta XR SDK 已经更新到了 v60 版本。我之前出的 Quest 一体机开发教程使用的是 Oculus Integration v57 版本,当时我们是从 Unity Asset Store 资源商店里导入的,我们可以打开资源商店看一下。

在这里插入图片描述

这个 Oculus Integration 目前是处于弃用的状态,这个弃用指的是这个包只更新到 v57 版本,然后v57 之后的版本会更新到Meta XR SDK中。不过目前来说,之前的系列教程中介绍的相关物体和脚本配置是没有发生变化的,比如说实现抓取功能,那么在玩家物体和可抓取物体身上需要添加哪些东西还是一样的,这些部分大家还是可以参考之前的教程,之后的教程我就会使用 Meta XR SDK 来进行讲解。那么从 Oculus Integration 转变成Meta XR SDK,只是包的导入方式和一些资源脚本的存放位置发生了一些变化。如果一些物体和脚本的使用方式发生了明显的变化,我之后会出新的教程进行说明。如果使用方式是一样的,那么大家依然可以跟着这个系列教程进行学习。

因为原本的 Oculus Integration 集成了 Meta 所有的 SDK,所以它叫 Integration。那么这种方式其实也有缺点,因为之后 Meta 为开发者推出的开发功能会越来越多,如果所有的功能都集成到一个整合包里,会导致这个开发包越来越大。所以 Meta 把不同功能的开发包拆分成一个个单独的包,这样开发者只需要导入开发所需要的包,没有用到的包就不需要导入了,这样能够减少包体大小,然后让不同的包分工明确。大家可以看到 Unity 的资源商店里的这些开发包,它们就是从 Oculus Integration 中拆分出来的包,比如 Meta XR Interaction SDK,我们最近学的 Quest 手势追踪交互相关的资源和脚本大部分就来自于这个包。如果你想要将所有的功能一起导入,你也可以选择这个Meta XR All-in-One SDK,它和 Oculus Integration 是类似的,也是一个整合包(链接:https://assetstore.unity.com/packages/tools/integration/meta-xr-all-in-one-sdk-269657#reviews)。实际上我们说的 Meta XR SDK 就是 Meta 各个功能的 SDK 的统称。

在这里插入图片描述

在这里插入图片描述

但是自从 Meta XR SDK v59 版本发布至写这篇文章的时候,Unity 资源商店中的 Meta XR SDK,不管是这个 All-in-One SDK,还是其他单独的开发包,都无法从 Unity 的 Package Manager 中导入到项目中。报错信息如下:

在这里插入图片描述

目前尚不清楚是不是 Unity 国服版的原因,如果你遇到了同样的问题,不要担心,这篇文章会介绍另一种导入方式:从 Meta 的官网导入。

下载链接:https://npm.developer.oculus.com/ (需要连外网)

官方对每个开发包的介绍以及版本更新说明:https://developer.oculus.com/downloads/unity/


📕从 Meta 官网导入开发包

在这里插入图片描述

可以直接点击每个包最右侧的下载按钮进行下载。

⭐依赖包

下载之后,在导入之前需要特别注意“依赖包”这个概念。如果一个包有依赖包,那么必须要先导入所有的依赖包,然后才能导入这个包

比如我们点开其中一个包,点击 Dependencies:

在这里插入图片描述

比如这个 .interaction.ovr.samples 包在导入之前需要先导入 .interaction.ovr 包和 .sharedassets 包。一般来说,我们只需要关注 com.meta.xr 前缀的依赖包,它们能从 Meta 官网上下载。如果是前缀 com.unity 的包,基本上是 Unity 自带的。

不过即使你忘了导入依赖包,在导入 Unity 的时候 Unity 也会给你提供报错信息:

在这里插入图片描述

常用包的依赖包:

包名依赖包
com.meta.xr.sdk.core
com.meta.xr.sdk.interaction (Interaction SDK)com.unity.textmeshpro@3.0.6,com.unity.ugui@1.0.0 (Unity的包是Unity自带的)
com.meta.xr.sdk.interaction.ovrcom.meta.xr.sdk.interaction,com.meta.xr.sdk.core
com.meta.xr.sdk.sharedassetscom.unity.textmeshpro@3.0.6,com.unity.ugui@1.0.0
com.meta.xr.sdk.interaction.ovr.samplescom.meta.xr.sdk.interaction.ovr,com.meta.xr.sdk.sharedassets
com.meta.xr.mrutilitykitcom.unity.textmeshpro@3.0.6,com.unity.ai.navigation@1.1.4,com.unity.nuget.newtonsoft-json@3.0.2,com.meta.xr.sdk.core,com.meta.xr.sdk.interaction,com.meta.xr.sdk.interaction.ovr

⭐如何导入

打开 Unity 菜单栏的 Windows > Package Manager,点击左上角的 “+” 号,选择 Add Package from tarball,然后就可以导入从 Meta 官网上下载的 .tgz 后缀的包。

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

⭐导入后包存放在哪里了?

在这里插入图片描述
与 Oculus Integration 相比,Meta XR SDK 最主要的区别就是:原来的 Oculus Integration 是将所有资源存放在 Assets/Oculus 文件夹下;Meta XR SDK 将包的大部分资源,例如 Prefab,脚本等存放在了 Packages 文件夹下。而 Assets/Oculus 文件夹下只留了一个全局的配置文件。

在这里插入图片描述

因此,我们在 Project 窗口中搜索 Meta XR SDK 的资源时,需要选择 “In Packages” 或者 “All”,默认是只在 Assets 文件夹下搜索。

在这里插入图片描述

⭐场景样例文件去哪了?

当你导入了 com.meta.xr.sdk.interaction.ovr.samples 这个包时,你会发现 Packages 文件夹的这个包里找不到场景文件。这个时候需要打开 Package Manager,找到对应的包,点击 Samples 手动导入:

在这里插入图片描述

导入后的场景文件位于 Assets/Samples/Meta XR Interaction SDK OVR Samples 的子文件夹下。

其他的带有 Samples 的包也是类似的导入方式。

此外,Meta 也为开发者提供了一个 StarterSamples 样例工程:https://github.com/oculus-samples/Unity-StarterSamples,其中也包含了一些可供学习的场景。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Django 学习教程-介绍与安装

系列 Django 学习教程-第一个 Django 应用-CSDN博客 介绍 Django 是一个高级 Python Web 框架,它鼓励快速开发和干净、实用的设计。 它由经验丰富的开发人员构建,解决了 Web 开发的大部分麻烦,因此您可以专注于在编写应用程序时无需重新发…

C# vs报错 id为XX的进程当前未运行

报错原因:虚拟目录端口被占用 解决方法:重新配置新的目录端口就行 1、选择项目属性 2、更改端口号,点击创建虚拟目录 3、重新生成项目

使用python快速开发与PDF文档对话的Gemini聊天机器人

检索增强生成(Retrieval-augmented generation,RAG)使得我们可以让大型语言模型(LLMs)访问外部知识库数据(如pdf,word、text等),从而让人们可以更加方便的通过LLM来学习外部数据的知识。今天我们将利用之前学习到的RAG方法,谷歌Gemini模型和l…

「微服务」Saga 模式 如何使用微服务实现业务事务-第二部分

在上一篇文章中,我们看到了实现分布式事务的一些挑战,以及如何使用Event / Choreography方法实现Saga的模式。在本文中,我们将讨论如何通过使用另一种类型的Saga实现(称为Command或Orchestration)来解决一些问题&#…

Ps:三角形工具

三角形工具 Triangle Tool可以绘制三角形形状(矢量形状,或者是基于像素的形状)和路径(形状轮廓)。 快捷键:U ◆ ◆ ◆ 常用操作方法与技巧 1、一般使用拖拽的方式绘制三角形。也可直接在画布上点击&#…

【2023】hadoop基础介绍

💻目录 Hadoop组成HDFSHDFS操作HDFS分布式文件存储NameNode元数据数据读写流程 YARN和MapReduceMapReduce:分布式计算YARN:资源管控调度YARN架构提交任务到**YARN中运行** Hadoop组成 hadoop安装教程可以看我这篇文章> 🍅hado…

数据结构—树的应用

文章目录 11.树的应用(1).Huffman树#1.加权外部路径长度#2.Huffman算法#3.Huffman编码 (2).二叉搜索树#1.基本定义#2.查找#3.插入结点#4.构建树#5.查找最小值和最大值#6.删除结点#7.一个问题 (3).平衡搜索树#1.满二叉树、完全二叉树和丰满二叉树#2.平衡因子和平衡树#3.左旋与右…

深入解析泛型

一、泛型的诞生 在C#1 中我们还没有泛型的时候我们收集数据通常需要使用到数组,或者使用封装好的数组集合Hashtable ArrayList。 举个例子: 我们在读取文件的时候就会需要一个数组来储存读取的数据的内容 但我们并不知数据的具体长度也就无法在声明的…

2021-05-08 51单片机74HC164、74LS164、74HCT164、74HC154、74HCT154应用三极管控制继电器

74HC164、74HCT164是8位边沿触发式移位寄存器,串行输入数据,然后并行输出。数据通过两个输入端(DSA或DSB)之一串行输入;任一输入端可以用作高电平使能端,控制另一输入端的数据输入。两个输入端或者连接在一…

【低代码平台】10个开源免费Airtable 的替代方案

Airtable是一个易于使用的简单低代码平台,有助于团队协作管理复杂的数据表,并创建定制的工作流程。把它想象成一个类固醇上的云电子表格。 Airtable还简化了数据输入过程,连接和集成第三方服务和应用程序,并提供了许多数据导入/导…

web综合大实验!!!

目录 一、要求 二、操作步骤 第一步:关闭防火墙+SeLinux 第二步:挂载 第三步:编辑配置文件 第四步:安装软件包 1、安装httpd 2、安装mod_ssl模块 第五步:定义主配置文件 1、创建首页文件 2、重启…

7.java——异常

异常——error(资源耗尽,JVM内部系统错误,代码一般处理不了)和excption(数组越界,空指针访问,代码可以处理) java.lang.Throwable;异常体系的根父类 -------java.lang.Error:错误。…

第三部分 连续型需要的积分

目录 温馨提示: 求积分 求分段函数在确定区间的定积分 方法: 例1 例2 例3 例4 例5 例6 例7 求分段函数在到未知数的定积分 方法: 例8 求简单的二重积分 方法: 例9 例10 例11 求f(x,y)的二重积分 方法: 例12 例13 …

软件工程总复习笔记

软件工程课程复习提纲 文章目录 软件工程课程复习提纲一、基本知识点1. 软件工程的概念及目标2. 软件危机的概念及典型表现3. 瀑布模型的概念及特点4. 快速原型模型的特点5. 螺旋模型的基本思想6. 软件生命周期的概念及划分为哪几个阶段7. 软件需求的定义8. 常见的软件需求获取…

Go 泛型之明确使用时机与泛型实现原理

Go 泛型之明确使用时机与泛型实现原理 文章目录 Go 泛型之明确使用时机与泛型实现原理一、引入二、何时适合使用泛型?场景一:编写通用数据结构时场景二:函数操作的是 Go 原生的容器类型时场景三:不同类型实现一些方法的逻辑相同时…

FL Studio 21.2.2官方中文版重磅发布

纯正简体中文支持,更快捷的音频剪辑及素材管理器,多样主题随心换! Mac版新增对苹果M2/1家族芯片原生支持。 丰富的主题换肤 现在大家可以通过控制色调、饱和度、亮度、文本、仪表和步进序列器的颜色来改变你的DAW外观, DAW“情绪…

VSCode使用Remote SSH远程连接Windows 7

结论 VSCode Server不能启动,无法建立连接。 原因 .vscode-server 目录中的 node.exe 无法运行。 原因是Node.js仅在Windows 8.1、Windows Server 2012 R2或更高版本上受支持。 由于vscode基于node.js v14,不支持Windows 7操作系统。 另&#xff…

普中STM32-PZ6806L 使用FlyMcu串口烧录程序

简介 我的串口下载电路坏掉了, 所以研究了下如何通过USB转TTL进行程序的下载, 为后续Bootloader部分做准备;连接 我的板几乎是十年前买的, 所以电路与现有网上的资料有些差异, 所以仅供参考 USB 转 TTL线 与开发板 连接, 如图图中 ①, 需要去掉第一个…

基于STM/APM32F072制作的J-Link OB调试器项目验证

基于STM/APM32F072制作的J-Link OB调试器项目验证 📍本文基于github项目:https://github.com/geekchun/Jlink-OB/tree/master⚡申明:仅限个人研究学习,无其他用途。🌿采用该项目提供的固件,烧录STM32f4时信…

WeNet语音识别调用通义千问

WeNet语音识别调用通义千问 WeNet语音识别对通义千问(Qwen-72B-Chat Bot)调用,首先通过WeNet将用户的语音输入转录为文本,然后将此文本输入通用问答模型以获取答案。 本人原创作品,体验一下 连续对话 WeNet语音识别…