接触了一个使用HoloLens在Unity中开发一个AR程序的项目。网上的教程很乱,在这里整合一下官方以及各博客的教程。

本文包括环境的安装和配置,一个demo的实现及在HoloLens2上的部署过程。
本文主要参考了以下教程
微软官方
安装工具
MRTK初学者教程.
Vuforia官方
Getting Started with Vuforia Engine in Unity
Working with the HoloLens Sample in Unity
CSDN博文
HoloLens2三种工程部署方式
HoloLens2 + Vuforia图片识别

工具安装

1.Unity3D
微软官方推荐Unity 2020.3LTS版本(见链接)
通过UnityHub安装,注意需要添加下图中的两个模块。

2.VS2019
下载链接
3.Windows10 SDK
可在VS中自动检测安装。
手动安装链接
4.HoloLens2 仿真器(可选)
下载链接
5.Mixed Reality Feature Tool
下载链接
MR功能工具官方使用文档

项目设置

1.在unity中创建新项目

2.打开File-Build Settings 选择UWP,点击Switch Platform

3.上图左下角的位置,打开Player Settings,选择XR Plugin Management


点击安装XR Plugin Management。
本文使用Windows XR插件进行配置。启用Windows Mixed Reality选项。确保启动时初始化XR选项被勾选。

4.打开MixedRealityFeatureTool程序


点击Start

选择项目路径

点击Discover Features

根据需要选择要导入工程的MRTK包。点击Get Features。
(2021/7/7 导入2.7.1版本失败,可导入2.7.0版本)

5.在Unity完成上一步的导入包操作后,会自动显示MRTK项目配置管理器,也可手动在窗口栏中的Mixed Reality中找到。

首先XR 管线 设置,已经在之前的步骤中选择了Windows XR,非OpenVR,此处点击next

这里根据需要进行设置。此处按照默认设置。其中Audio spatializer 下拉列表中选择MS HRTF Spatializer。单击应用按钮。


点击Next

这里可选择导入TMP 基本资源。(官方教程一开始就导入,MRTK 的 UI 元素需要 TextMeshPro 基本资源。 如果你不打算在项目中使用 MRTK 的 UI 元素,则可以跳过此步骤。)

可在Package Manager中选择导入examples

6 Vuforia导入

从官网下载用于Unity的unitypackage文件
将其导入工程

选择Update,(需要安装Git,且下载很慢,网上有直接下载Vuforia package并复制到Packages文件夹下的教程)

窗口栏GameObject下拉选项中出现Vuforia Engine,说明导入成功。

Vuforia AR 设置

Vuforia License Key获取

登录Vuforia 官网注册账号,选择Develop一项,选择License Manager,点击Get Development Key

点击Confirm,然后点进去,复制好license key

创建识别目标

在Targer Manager选项下,点击Add Database即可创建要识别目标的数据库。可创建两种类型的数据库:Device,VuMark。VuMark是一种Vuforia提供的类似二维码的识别数据。详细的信息可参考网上。

点进去创建好的数据库,现在可添加要识别的目标了。关于目标的选择在网上有很多案例及教程。
以单张图片为例,选好图片,设置Width(设置为1),命名。
其中Width的设置会产生什么效果还不知道。

上传后,会给出图片评分。会根据不同图片好坏给出不同评分。(B站BV134411s725 有讲)如下图为五星评分。

点击上图中Download Database,下载图片数据库。

创建场景并配置

1.在Unity中新建场景并保存。

2.添加MRTK

在菜单中,选择“Mixed Reality” >,“Add to Scene and Configure",将 MRTK 添加到当前场景 :

3. 配置MRTK配置文件

MRTK 配置文件是一个嵌套配置文件树,它们构成了应如何初始化 MRTK 系统和功能的配置信息。 顶级配置文件(即“配置”配置文件)包含每个主要核心系统的嵌套配置文件。 每个嵌套的配置文件都设计为配置其对应系统的行为。官网示例
如上图所示,在Hierarchy中选中MixedRealityToolkit,在右侧的Inspector中显示了其配置文件。默认提供了几种配置文件,保持默认设置不变,点击clone得到可编辑副本。对于其中每一项的配置,若要自定义配置,都需要进行clone操作

4. 添加Vuforia

在MixedRealityPlayspace下找到主摄像机,向其添加Vuforia Behaviour.cs组件

打开Vuforia Engine 配置

复制之前的license key到App License Key中,点击Add License
导入之前下载好的database,Database下会自动出现导入的Database。

5. 编辑场景

选择GameObject->Vuforia Engine->Image Target
ImageTarget被添加到场景中,在Inspector面板Image Target Behaviour脚本中选择type为from database
,选择要用到的databse及图片目标。场景中出现对应的图片目标。

在该脚本的高级选项中可设置其width和height

创建cube,将其设置为Image Target子物体,调整其比例位置。

此时最基本的使用HoloLens+Vuforia识别图片,并出现物体的demo完成。

工程的Build及部署

bulid前的设置

1 Project Settings中,Windows XR Reality中的Depth Buffer Foramt设置为16位(可以根据需要决定是否将深度格式减小为 16 位,如果减小,可提高项目中的图形性能。 若要了解有关此主题的更多信息,可以参考 MRTK 的性能文档的深度缓冲区共享 (HoloLens) 部分。)

2 Player选项

1.在Resolution and Presentation中,取消勾选Run In Background(Vuforia 教程Disable Run in Background so that Vuforia pauses when the app is put into the background and can access the camera again when the app is resumed.)
在Default Orientation 中设置为Landscape Left
此项设置为默认横屏。

2.在Publish Settings中,编辑Package name。在Capabilities中,确保 Internet Client, WebCam, Microphone, and SpatialPerception 被勾选。在Support Device Families下,确保Holographic被选择。

Build设置

目标设备选择为HoloLens
架构选择为ARM64(HoloLens2)
Build and Run此处选择为远程连接
Build配置为release
填写HoloLens2设备的ip,用户名及密码
点击Build

新建App文件夹,存放Build后的工程文件。

工程部署

打开App文件夹下的VS工程
配置为Release模式,选择ARM64,远程计算机,项目属性中调试一项输入远程计算机ip地址同上。开始调试,等待工程部署(电脑及HoloLens2都需要打开开发者选项)



部署完毕后,即可在HoloLens眼镜中识别目标图片生成立方体。

Unity+Vuforia+Hololens2 AR开发相关推荐

  1. Unity Vuforia 之 AR 识别物体抖动的简单解决思路参考

    Unity Vuforia 之 AR 识别物体抖动的简单解决思路参考 目录 ​ 一.简单介绍 二.问题 三.简单解决思路 附录:Vuforia SDK 的功能如下 一.简单介绍 目前世界上主流的AR ...

  2. 0基础小白用unity+vuforia实现AR随机抽卡/盲盒功能

    unity+Vuforia实现海洋动物随机AR盲盒 目录 Vuforia 一.在vuforia上注册许可证 二.添加识别目标图像数据 三.搭建AR程序 四.随机盲盒的进阶AR程序 Vuforia 这是 ...

  3. Unity+Vuforia实现AR图片识别应用

    在这个生活方式都日新月异的时代,新技术,黑科技的衍生数量层出不穷,其中VR (VitualReality 虚拟现实).MR (Mixed Reality 混合现实)以及AR也是近年来最火的热词之一, ...

  4. Unity Vuforia(高通)AR

    Unity Vuforia制作AR软件 使用过高通AR.百度AR.EasyAR,还是觉得高通的使用起来更加简易.今天就记录一下怎么使用Vuforia制作一个可识别2D图片与3D物体的AR软件. 使用步 ...

  5. Unity Vuforia AR生成详细教程

    Unity2019 生成AR程序详细教程+台式机开发无摄像头解决方案 文章目录 一.vuforia插件介绍 二.安装vuforia 三.注册vuforia官网账号和获取Key与创建数据库 四.Unit ...

  6. AR开发使用Vuforia的ARCamera真实背景相机显示黑屏问题

    前言: 在进行AR开发时候,使用高通的Vuforia开发,能够轻松实现图像的识别.跟踪,在进行识别.实景显示游戏的时候非常便捷.但是在使用Vuforia的ARCamera使用现实场景的时候,在某些机型 ...

  7. Unity Vuforia 之 简单实现Vuforia调用Android设备外接摄像头camera实现AR

    Unity Vuforia 之 简单实现Vuforia调用Android设备外接摄像头camera实现AR 目录 Unity Vuforia 之 简单实现Vuforia调用Android设备外接摄像头 ...

  8. Android Studio 使用Vuforia(高通)开发AR

    AR作为现在的前端新技术,在许多APP中运用到,那么如何在Android studio开发环境下编译运行AR项目呢,请按下面步骤走: 1.搭建Android studio android 开发环境 这 ...

  9. Unity Vuforia(高通)AR全流程

    Unity Vuforia播放视频全过程(从Unity的安装到打包) 一.安装Unity (1)点击安装地址下载Unity Hub 下载好之后点击安装. (2)从Unity Hub进去安装Unity( ...

最新文章

  1. php通过正则提取页面相关信息
  2. 【Android 逆向】IDA 工具使用 ( 交叉引用数量设置 | 调试设置 )
  3. 我在思考的时候神告诉我的(大学里的爱恋)
  4. idea 中 git 修改了文件却无法提交(No Changes detected)
  5. python实例化是什么意思_Python中实例化class的执行顺序示例详解
  6. 在Java里重写equals和hashCode要注意什么问题
  7. 联想340c笔记本cpu能升级吗_联想扬天威6 2021款酷睿版怎么样?评测值得买吗?从价格和配置看就知道了...
  8. (转)KeyDown、KeyUp、KeyPress区别
  9. growup怎么读_growup..是什么意思
  10. 浙江省计算机二级办公软件高级应用技术,浙江省计算机二级办公软件高级应用技术考试大纲.doc...
  11. 用逻辑覆盖法设计测试用例 int fun(int x,int y, int z) { if((y>1)(z==0)) {x=x/y} if((y==2)||(x==1)) {x=x+1}
  12. 如何看待“大数据杀熟”现象(个人观点,仅供参考)
  13. C2872 “detail”: 不明确的符号
  14. matlab 调节透明度_更改图像、填充或曲面的透明度
  15. XP桌面图标阴影的去除
  16. [转] 汉语骂人最高境界!(爆笑)
  17. URIError: URI malformed
  18. 关于memset(G,0x3f,sizeof(G))的说明
  19. 柜台管理系统(1.2)
  20. 排队模拟JAVA程序_java 模拟窗口排队

热门文章

  1. PS 选区的基础使用
  2. MATLAB产生伪随机数
  3. css线性渐变linear-gradient 参数讲解以及示例
  4. 魔百盒CM311-1a免拆机卡刷固件加+刷armbian装docker运行青龙面板
  5. konga 安装部署
  6. opencv--颜色识别
  7. 计算机网络协议分析 第三课 PAP,CHAP,PPPoE
  8. rasa算法_使用 Rasa 构建天气查询机器人
  9. 推荐系统中的pointwise和pairwise区别
  10. 实践中的重构19_脱裤子放屁