基于MRTK的HoloLens开发(1)_mrtk项目报告-程序员宅基地

技术标签: Unity  MRTK  Hololens  

Hololens开发

笔者的团队近日有幸入手一台Hololens真机,进行某知名公司一建筑模型借助Hololens的动态展示的开发。开发过程中因国内进行相关开发的团队过少,且微软官方已将原HoloToolKit改版为MixedRealityToolKit也即MRTK,能搜到的有关Hololens开发的博客很少,且大都缺乏时效性,对现今开发Hololens的团队来说指导作用不大;而官方文档又只有英文版且对入门者不太友好,总之开发过程中困难重重。
因而决定写这篇文章,为拥有Hololens真机,使用最新版本MRTK进行Hololens项目开发人员提供帮助。

环境配置

以下均为笔者所用配置环境

名称 环境
操作系统 Windows 10 1809【至少1703+】
Visual Studio Visual Studio Community 2019
Unity Unity 2018.4.6f1【至少2018.4】

Visual Studio具体配置

Visual Studio的配置是否正确决定了项目能否成功从Unity中构建导出,进而设计能否在Hololens生成APP及调试。下图为笔者经多次尝试后确认的正确配置所需选择的。
VS具体配置1
VS具体配置2
VS具体配置3
VS具体配置4

MRTK 工具包配置

在进行Hololens的开发时,我们需要集成微软官方提供的 MixedRealityToolKit 项目。MixedRealityToolKit ,即原HoloToolkit-Unity 项目,简称MRTK,是微软官方的开源项目,用于帮助开发者快速开发 HoloLens 应用,能够快速为项目集成基本输入、空间映射和场景匹配等特性。

关于该项目的详细介绍,可以参考MRTK官方说明文档https://microsoft.github.io/MixedRealityToolkit-Unity/README.html

集成步骤

  • 在Github上下载MRTK项目代码 https://github.com/microsoft/MixedRealityToolkit-Unity
    在这里插入图片描述
  • 将下载的ZIP解压,使用Unity以打开工程的方式打开解压得到的文件夹,右击Assets,选择Export Package,将所有MRTK前缀的包全部选上,导出得到一unitypackage格式的文件,即是后续在Unity项目中可直接导入的MRTK工具包。
    在这里插入图片描述

Unity配置

Unity 3D是进行Hololens开发的主要平台,下面进入正题。
配置步骤:

  • 使用Unity新建一个3D项目,由左上角选项栏沿Assets-import package-custom package途径引入上一步中导出的unitypackage文件。
  • 在成功导入后选项框上会出现一个新的选项——Mixed Reality Toolkit,点击并选择Add to Scene and Configure,选择添加图中高亮的MixedRealityToolKitConfigurationProfile,随即左侧框中出现MRTK及MRPlaySpace。
    在这里插入图片描述 在这里插入图片描述
    在这里插入图片描述
  • 由于Hololens内装的是UWP版的Windows 10系统,而Unity默认创建项目运行的平台即标准版本,与之不符,因而需在左上角选项栏中沿File-Build Settings去转换平台为UWP版,相关设置更改如下图,且勿漏选,错选。(笔者使用的是Unity 2018.4.6f1版本)选好后点击Switch Platform即可。
    在这里插入图片描述
  • 仍在Building Settings中点击左下角的Player Settings,在Unity右侧的Inspector中选择XR Settings,勾选其中的Virtual Reality Support 和WSA Holographic Remoting supported。
    在这里插入图片描述
  • 截至此步基本配置已完成,可通过Holographic Remoting Player与设备连接,点击开始即快捷地调试已有项目。注意Holographic Remoting Player是在Hololens上安装,电脑端通过Window-XR-Holographic Emulation途径打开下面的界面,Emulation Mode 选择Remote to Device,在Hololens上打开Holographic Remoting Player后即可获取Hololens的ip地址,输入到Remote Machine中即可。
    详细使用方法见:https://docs.microsoft.com/zh-cn/windows/mixed-reality/holographic-remoting-player
    在这里插入图片描述

补充

  • 强烈推荐在Windows Store(Windows自带)上下载Microsoft HoloLens,可实时获取设备第一视角的直播,及进行实时照相,录屏等功能,方便团队开发。
    在这里插入图片描述
    在这里插入图片描述
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/Brant_Stark/article/details/100043862

智能推荐

神秘魔术动作能量冲击波特效音效Arcane Forces第一套 MAGIC - ARCANE FORCES DESIGNED_magic – arcane forces-程序员宅基地

文章浏览阅读222次。神秘魔术动作能量冲击波特效音效Arcane Forces第一套 MAGIC - ARCANE FORCES DESIGNED原文地址:https://www.aeziyuan.com/t-20646.html文件格式:.WAV文件大小:1.26 GB(解压包大小)文件数量:124音频码率:96kHz, 24-bit音效适用于任何音/视频后期编辑软件,直接导入即可使用包含:酸,奥术,障壁,呼吸,增益,诅咒,减伤,神圣,电,能量,火,玻璃,冰,冲击,光,液体,金属,加工,抛射,隆隆声,序,召唤,._magic – arcane forces

commons-io工具包的基本使用_ioutils.tobytearray-程序员宅基地

文章浏览阅读4w次,点赞57次,收藏304次。目录一、工具类IOUtils的使用:FileUtils的使用:FilenameUtils的使用FileSystemUtils的使用:二、输入、输出三、Filters过滤器四、Comparators比较器五、Monitor文件监控简介:java io操作是开发中比较常用的技术,但是如果每次都使用原生的IO流来操作会显得比较繁琐。Common IO 是一..._ioutils.tobytearray

平面射影_坐标平面射影是什么-程序员宅基地

文章浏览阅读1.9k次。欧氏坐标(x,y)->-> 平面上所有无穷远点所构成的集合称为无穷远直线。 射影平面:由欧氏平面与无穷远直线的并集所形成的扩展平面称为射影平面,有时也称为二维射影空间。向量的反对称矩阵定义为的叉积为矩阵具有如下性质:对偶命题:在射影平面内,点和线是一对互为对偶元素。在包含"点"和“线”元素的命题中,如果将两个元素的角色互换,则对应的命题也成立,并称它们是一对互为对偶命题。,二维向量称为..._坐标平面射影是什么

详解HTML的a标签(超链接标签)-程序员宅基地

文章浏览阅读1k次。原文  简书原文:https://www.jianshu.com/p/d6a2499db73b大纲  1、什么是<a>标签  2、<a>标签的几个重要属性  3、a标签的运行机制  4、a标签常用的协议  5、超链接标签的样式问题——a标签的伪类选择器的书写顺序1、什么是<a>标签  <a> 标签定义超链接,用于从一张页面链接到另..._超链

【通信原理】五、模拟调制系统_vsb系统仿真-程序员宅基地

文章浏览阅读1.9k次,点赞3次,收藏15次。AM、DSB、SSB、FM、包络检波、相干解调_vsb系统仿真

通过OpenSSL获取证书扩展属性之二:“密钥用法”和"增强型密钥用法"_openssl 增强型密钥用法-程序员宅基地

文章浏览阅读1.1w次。介绍如何使用Openssl解析CA证书、获取“密钥用法”和“增强型密钥用法”扩展属性。_openssl 增强型密钥用法

随便推点

python——stack()和unstack()用法_unstack函数-程序员宅基地

文章浏览阅读1.2w次,点赞12次,收藏54次。在学习python的过程中遇到了这两个函数,讲讲学习的心得_unstack函数

AOP与OOP有什么区别,谈谈AOP的原理是什么,大厂Android高级面试题汇总解答-程序员宅基地

文章浏览阅读521次,点赞25次,收藏11次。包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频**

最小费用流_单向图费用流-程序员宅基地

文章浏览阅读1.5k次。单向图#include//每次找费用的最短路,更新残留网络图直到找不到最短路为止#include//最大费用 权值取负值 结果取负值#include#include#includeusing namespace std;const int inf=0x3f3f3f3f;struct Node_单向图费用流

Python中的5个高阶概念属性的知识点!你要了解明白哦!_python属性的五大类-程序员宅基地

文章浏览阅读318次。在现代编程世界中,面向对象编程(OOP)语言在改变软件开发中的设计和实现模式方面发挥了进化作用。作为OOP家族的重要成员,Python在过去10年左右逐渐流行起来。与其他OOP语言一样,Python围绕大量不同的对象操作其数据,包括模块、类和函数。如果您有任何OOP语言的编程经验,您应该知道所有对象都有其内部特征数据,称为字段、属性或属性。在Python中,这些对象绑定的特征数据通常称为属性。在本文中,我将特别在自定义类的上下文中讨论它们。1. 类属性为了更好地管理项目中的数据,我们经常需要_python属性的五大类

python 基于PHP+MySQL的装修网站的设计与实现_python抓取装修需求-程序员宅基地

文章浏览阅读282次。5:系统简介设置:系统管理员应该可以通过系统简介设置功能设置系统前台的系统简介信息,系统前台的系统简介是随后台的变化而变化的,系统简介应该使用编辑器,实现图片,文字,列表,样式等多功能输入。6:系统公告设置:系统管理员应该可以通过系统公告设置功能设置系统前台的系统公告信息,系统前台的系统公告是随后台的变化而变化的,系统公告应该使用编辑器,实现图片,文字,列表,样式等多功能输入。应该都要能修改自己的登录密码,修改后需要重新登录。13:装修效果:员工给客户上传装修效果和装修进度,客户查询。_python抓取装修需求