【MR开发】在Pico设备上接入MRTK3(一)——在Unity工程中导入MRTK3依赖

写在前面的话

在Pico上接入MRTK3,目前已有大佬开源。

https://github.com/Phantomxm2021/PicoMRTK3

也有值得推荐的文章。
MRTK3在PICO4上的使用小结

但由于在MacOS上使用MRTK3,无法通过Mixed Reality Feature Tool工具管理MRTK3安装包。
故记录一下完整的流程,仅作备忘。

开发环境
Unity编辑器:2022.3.49
Pico SDK:v3.0.0
MRTK3:MixedRealityToolkit-Unity的release-2024-08-29分支


MRTK3简介

MRTK3 是 Unity 的第三代 Microsoft 混合现实工具包。 它是 Microsoft 驱动的开源项目,旨在加速 Unity 中的跨平台混合现实开发。 此新版本建立在 Unity 的 XR 管理系统和 XR 交互工具包基础之上。 以下是它的一些功能:

为空间交互和 UI 提供跨平台输入系统和构建基块。
通过编辑器内模拟实现快速原型制作,让你能够立即看到变化。
作为可扩展的框架运行,使开发人员能够交换出核心组件。

MR工具包:MRTK3

在Unity工程中导入MRTK3

以下几种方式选择一种即可,我们需要在Unity中导入以下MRTK的依赖(speech相关依赖若不使用可以不导入)
导入的依赖汇总

方式1: 使用MR Feature Tool安装MRTK

在Windows系统上,可以通过使用混合现实功能工具导入MRTK3包体至Unity工程,工具下载地址:Mixed Reality Feature Tool

打开工具,选择Unity工程目录,勾选MRTK3,直接安装即可。

方式2: 使用源码的形式进行安装

由于当前使用的mac电脑,无法使用MRFeature Tool工具。

  1. 从git上down下源码,git仓库:MixedRealityToolkit-Unity
    这里我选择的是较新的release分支。
    分支选择

  2. 打开文件夹,查看MRTK相关依赖。(这里选中了14个依赖,在后续的步骤中我们需要将其导入到Unity工程)
    14个MRTK依赖

  3. 在unity中通过“Package Manager”导入这14个依赖

  4. 添加“com.microsoft.mrtk.graphicstools.unity”依赖(重要)
    在’unity工程目录/Packages/manifest.json’文件中添加‘graphicstools’依赖。

    "com.microsoft.mrtk.graphicstools.unity": "https://github.com/microsoft/MixedReality-GraphicsTools-Unity.git?path=/com.microsoft.mrtk.graphicstools.unity#v0.6.6",

manifest.json
若没有导入graphicstools,则会有以下报错提示。
在这里插入图片描述

方式3: 使用整合包

整合包资源下载地址:MRTK3整合包下载链接

  1. 下载资源包,解压
  2. 将其拷贝至Unity工程目录
    工程的package目录

此外,这里需要注意检查manifest.json文件中是否引入了“com.microsoft.mrtk.graphicstools.unity”依赖
检查文件

问题汇总

  1. graphicstools导入失败

解决方式:请检查VPN代理或是直接通过git下载到本地后,再通过“PackageManager”导入。

在这里插入图片描述
2.MRTK某个依赖导入失败

解决方式:检查这个依赖的前置依赖是否导入成功。(例如,下图中的问题就是由于graphicstools未导入成功导致的。)

在这里插入图片描述


后续步骤请点击下列链接查看


  • 【MR开发】在Pico设备上接入MRTK3(二)在Unity中配置Pico SDK
  • 【MR开发】在Pico设备上接入MRTK3(三)在Unity中运行MRTK示例

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

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

相关文章

◇【论文_20151120_20160405v3】Dueling Network 决斗〔Google DeepMind〕

整理代码:Dueling_DQN__Pendulum_v1.ipynb https://arxiv.org/abs/1511.06581 Dueling Network Architectures for Deep Reinforcement Learning 文章目录 摘要1. 引言1.1. 相关工作 2. 背景2.1. Deep Q-networks 【DQN】2.2. Double Deep Q-networks 【DDQN】2.3…

OpenCV高级图形用户界面(13)选择图像中的一个矩形区域的函数selectROI()的使用

操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 允许用户在给定的图像上选择一个感兴趣区域(ROI)。 该功能创建一个窗口,并允许用户使用鼠标来选择一个 ROI。…

Apache Cordova学习计划

Apache Cordova(之前称为 PhoneGap): 1. PhoneGap的起源:2008年8月,PhoneGap在旧金山的iPhoneDevCamp上首次亮相,由Nitobe公司开发,目的是“为跨越Web技术和iPhone之间的鸿沟牵线搭桥”。 2. Ph…

其他css的用途

1.animation-fill-mode: backwards; //避免了在动画开始前元素的突然显现,动画必要。 2.用rem响应式字体大小,可以在html样式定义font-size?(例10px,62.5%(100%是16px))。然后样式就可以用rem代替px。 3.color: transparent;: 这行代码将文…

UDP协议和TCP协议

UDP协议: 是一种无连接的、简单的传输层通信协议,它在IP协议(网络层)之上提供服务。 特点: 无连接:在数据传输前,发送方和接收方之间不需要建立连接,可以直接发送数据。 简单&…

计算生物学与生物信息学漫谈-2-测序深度/读长质量和Fasta处理

上一篇文章中我们介绍了测序技术的由来与发展,那么在介绍第三代测序的时候,我们提到了关于测序深度和读长的问题,那么本篇文章就详解介绍一下。 计算生物学与生物信息学漫谈-1-测序一路走来-CSDN博客 目录 1.测序深度SEQUENCING DEPTH &…

《AI生成式工具使用》之:自助生成视频

目录 背景说明及目标: 实现过程: 1、有问题找度娘 2、利用剪映AI生成视频具体步骤 剪映AI感受 3、利用万彩AI生成视频具体步骤 万彩AI感受 4、利用腾讯云剪生成视频具体步骤 腾讯云剪感受 最终结论: 关注我,躺不平就一起…

【部署篇】RabbitMq-02单机模式部署

RabbitMQ和Erlang/OTP兼容性矩阵 下表提供了当前支持的RabbitMQ版本系列的Erlang兼容性矩阵。更多RabbitMQ版本,请参阅官网的系列兼容性列表。官网地址:https://www.rabbitmq.com/docs/which-erlang RabbitMQ版本最小支持版本最大支持版本备注 4.0.24.…

uniapp 单表、多级动态表单添加validateFunction自定义规则

uniapp 多级动态表单添加自定义规则 在uniapp制作小程序时,当涉及到需要设置validateFunction的校验规则时。可能遇到的问题 1、validateFunction不生效,没有触发 2、多层级表单怎么添加validateFunction自定义校验规则 本文将以单表单校验和多表单校…

Axure重要元件三——中继器添加数据

亲爱的小伙伴,在您浏览之前,烦请关注一下,在此深表感谢! 本节课:中继器添加数据 课程内容:添加数据项、自动添加序号、自动添加数据汇总 应用场景:表单数据的添加 案例展示: 步骤…

力扣(leetcode)每日一题 3192 使二进制数组全部等于 1 的最少操作次数 II

3192. 使二进制数组全部等于 1 的最少操作次数 II 题干 给你一个二进制数组 nums 。 你可以对数组执行以下操作 任意 次(也可以 0 次): 选择数组中 任意 一个下标 i ,并将从下标 i 开始一直到数组末尾 所有 元素 反转 。 反转…

经验是最坏的老师

奥斯卡.王尔德说过:经验是最坏的老师。他经常先考试,然后再给出指导。 这让我想起了另外一句话:愚笨的人,往往都在犯同样的错误;普通的人,从自己的错误中学习;聪明人从别人的错误中学习。 如果…

Linux 防火墙的开启、关闭、禁用命令

Linux 防火墙的开启、关闭、禁用命令 文章目录 Linux 防火墙的开启、关闭、禁用命令1.设置开机启用防火墙2.设置开机禁用防火墙3.启动防火墙4.关闭防火墙5.检查防火墙状态 1.设置开机启用防火墙 systemctl enable firewalld.service2.设置开机禁用防火墙 systemctl disable f…

006、链表分割

0、题目描述 链表分割 这道题的思路,遍历原链表,小于x的放到一个链表里,大于x的放到另一个链表里。然后把两个链表接起来。 建立的两个新链表都是有哨兵位的,也就是有头结点,排序结束后要free两个头结点。 1、法1 还…

CSS3 提示框带边角popover

CSS3 提示框带边角popover。因为需要绝对定位子元素&#xff08;这里就是伪元素&#xff09;&#xff0c;所以需要将其设置为相对对位 <!DOCTYPE html> <html> <head> <title>test1.html</title> <meta name"keywords" con…

《C++开发 AR 游戏:开启未来娱乐新潮流》

一、引言 在当今科技飞速发展的时代&#xff0c;增强现实&#xff08;AR&#xff09;技术正以惊人的速度改变着我们的生活和娱乐方式。从智能手机上的 AR 滤镜到沉浸式的 AR 游戏&#xff0c;这项技术的应用越来越广泛。而在众多编程语言中&#xff0c;C以其高效、强大的性能在…

unity的一个bug

最近在写一个弹幕程序需要监听一个开源弹幕软件是否启动&#xff0c;没有启动就把他给启动。但实际上遇到了很多问题&#xff0c;unity这边竟然无法搜寻到 StringBuilder sb new StringBuilder();var all Process.GetProcesses();foreach (var item in all){//Console.WriteL…

格点拉格朗日插值与PME算法

技术背景 在前面的一篇博客中&#xff0c;我们介绍了拉格朗日插值法的基本由来和表示形式。这里我们要介绍一种拉格朗日插值法的应用场景&#xff1a;格点拉格朗日插值法。这种场景的优势在于&#xff0c;如果我们要对整个实数空间进行求和或者积分&#xff0c;计算量是随着变量…

JDK中socket源码解析

目录 1、Java.net包 1. Socket通信相关类 2. URL和URI处理类 3. 网络地址和主机名解析类 4. 代理和认证相关类 5. 网络缓存和Cookie管理类 6. 其他网络相关工具类 2、什么是socket&#xff1f; 3、JDK中socket核心Api 4、核心源码 1、核心方法 2、本地方法 3、lin…

【python_修改PPT中字体,run.font.name只对英文生效怎么办?】

python_修改PPT中字体&#xff0c;run.font.name只对英文生效怎么办&#xff1f; 参考&#xff1a;使用pptx_ea_font库设置中文字体 from pptx import Presentation from pptx.util import Pt from pptx_ea_font import set_font# 打开现有的 PPT 文件 prs Presentation(D:\…