赞
踩
接触了一个使用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功能工具官方使用文档
点击安装XR Plugin Management。
本文使用Windows XR插件进行配置。启用Windows Mixed Reality选项。确保启动时初始化XR选项被勾选。
点击Start
选择项目路径
点击Discover Features
根据需要选择要导入工程的MRTK包。点击Get Features。
(2021/7/7 导入2.7.1版本失败,可导入2.7.0版本)
首先XR 管线 设置,已经在之前的步骤中选择了Windows XR,非OpenVR,此处点击next
这里根据需要进行设置。此处按照默认设置。其中Audio spatializer 下拉列表中选择MS HRTF Spatializer。单击应用按钮。
点击Next
这里可选择导入TMP 基本资源。(官方教程一开始就导入,MRTK 的 UI 元素需要 TextMeshPro 基本资源。 如果你不打算在项目中使用 MRTK 的 UI 元素,则可以跳过此步骤。)
可在Package Manager中选择导入examples
从官网下载用于Unity的unitypackage文件
将其导入工程
选择Update,(需要安装Git,且下载很慢,网上有直接下载Vuforia package并复制到Packages文件夹下的教程)
窗口栏GameObject下拉选项中出现Vuforia Engine,说明导入成功。
登录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,下载图片数据库。
在菜单中,选择“Mixed Reality” >,“Add to Scene and Configure",将 MRTK 添加到当前场景 :
MRTK 配置文件是一个嵌套配置文件树,它们构成了应如何初始化 MRTK 系统和功能的配置信息。 顶级配置文件(即“配置”配置文件)包含每个主要核心系统的嵌套配置文件。 每个嵌套的配置文件都设计为配置其对应系统的行为。官网示例
如上图所示,在Hierarchy中选中MixedRealityToolkit,在右侧的Inspector中显示了其配置文件。默认提供了几种配置文件,保持默认设置不变,点击clone得到可编辑副本。对于其中每一项的配置,若要自定义配置,都需要进行clone操作
在MixedRealityPlayspace下找到主摄像机,向其添加Vuforia Behaviour.cs组件
打开Vuforia Engine 配置
复制之前的license key到App License Key中,点击Add License
导入之前下载好的database,Database下会自动出现导入的Database。
选择GameObject->Vuforia Engine->Image Target
ImageTarget被添加到场景中,在Inspector面板Image Target Behaviour脚本中选择type为from database
,选择要用到的databse及图片目标。场景中出现对应的图片目标。
在该脚本的高级选项中可设置其width和height
创建cube,将其设置为Image Target子物体,调整其比例位置。
此时最基本的使用HoloLens+Vuforia识别图片,并出现物体的demo完成。
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被选择。
目标设备选择为HoloLens
架构选择为ARM64(HoloLens2)
Build and Run此处选择为远程连接
Build配置为release
填写HoloLens2设备的ip,用户名及密码
点击Build
新建App文件夹,存放Build后的工程文件。
打开App文件夹下的VS工程
配置为Release模式,选择ARM64,远程计算机,项目属性中调试一项输入远程计算机ip地址同上。开始调试,等待工程部署(电脑及HoloLens2都需要打开开发者选项)
部署完毕后,即可在HoloLens眼镜中识别目标图片生成立方体。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。